中国开发网: 论坛: 程序员情感CBD: 贴子 561300
李战
最近想搞一个基于IE内核的网络爬虫程序方案
主要是想解决网页动态路径爬行问题。

现有的网络爬虫似乎都只能根据当前网页中的静态路径,即<a>标签等指示的路径去爬行。

但是,越来越多的网页是采用JAVASCRIPT,ASP.NET的WebForm等技术实现的,因此一个网页到下一个网页的跳转可能是由Javascript实现的,或者是一个<FORM>表单的提交引起的。这样,要得到当前网页连接的后续网页,除了找出静态路径外,还要真正去执行Javascript或真正提交<FORM>表单才行。

如果这个网络爬虫程序是基于IE内核的,就可以用IE去打开一个网页,并找出可能有动态路径的网页元素,然后模拟click或submit等打开后续网页。

但问题是,网络爬行程序不可能只处理当前网页的一个路径,而是当前网页的所有可能路径。所以,一般把当前网页的未访问径保存在一个列表里,然后再选择一个路径爬行。当这个路径后续爬行可以结束后,再回头找到下一个未爬行的路径继续。

这就面临两个问题:
1.如何提取当前网页的所有动态路径(包括POST数据,Cookie,SESSION等)
2.如何保存这些动态路径的特征(以便后续提取这些路径时可以连POST数据,SESSION,Cookie等一起发送)

如果实现了这样的网络爬行程序,无疑可以让搜索引擎抓取那些ASP.NET和AJAX网站的深层网页。

各位大侠,有兴趣的讨论一下。
李战(leadzen)

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录