您的位置:首页 > 理论基础 > 计算机网络

网络爬虫如何抓取web2.0 Ajax页面

2009-10-22 21:05 204 查看
伴随着AJAX/Web2.0的流行,如何抓取Ajax页面成了搜索引擎急需解决的一个问题,因为Ajax颠覆了传统的纯HTTP请求/响应协议机制,如果搜索引擎依旧采用“爬”的机制,是无法抓取到AJAX页面的有效数据的。
AJAX,也就是Asychronous Javascript and XML,由于采用了Javascript驱动的异步请求/响应机制,以往的爬虫们缺乏Javascript语义上的理解,基本上是无法模拟触发Javascript的异步调用并解析返回的异步回调逻辑和内容。

另外AJAX的应用中,Javascript会对DOM结构进行大量地变动,甚至页面所有的内容都是通过Javascript直接从服务器端读取并动态绘制出来.这个对于”习惯了”DOM结构相对不变的静态页面,简直是无法理解的.

由此可以看出,以往的爬虫是基于协议驱动的,而对于AJAX这样的技术,所需要的“爬虫”引擎必须是基于事件驱动的。要实现事件驱动,首先需要解决下面几点问题

●Javascript的交互分析和解释

●DOM事件的处理和解释分发

●动态DOM内容语义的抽取

至于具体如何去实现,个人觉得Crawling Ajax-driven Web 2.0 Applications这篇论文很有参考价值。有兴趣地可以研究研究。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息