网络爬虫如何抓取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这篇论文很有参考价值。有兴趣地可以研究研究。
AJAX,也就是Asychronous Javascript and XML,由于采用了Javascript驱动的异步请求/响应机制,以往的爬虫们缺乏Javascript语义上的理解,基本上是无法模拟触发Javascript的异步调用并解析返回的异步回调逻辑和内容。
另外AJAX的应用中,Javascript会对DOM结构进行大量地变动,甚至页面所有的内容都是通过Javascript直接从服务器端读取并动态绘制出来.这个对于”习惯了”DOM结构相对不变的静态页面,简直是无法理解的.
由此可以看出,以往的爬虫是基于协议驱动的,而对于AJAX这样的技术,所需要的“爬虫”引擎必须是基于事件驱动的。要实现事件驱动,首先需要解决下面几点问题
●Javascript的交互分析和解释
●DOM事件的处理和解释分发
●动态DOM内容语义的抽取
至于具体如何去实现,个人觉得Crawling Ajax-driven Web 2.0 Applications这篇论文很有参考价值。有兴趣地可以研究研究。
相关文章推荐
- 网络爬虫如何抓取web2.0 Ajax页面
- 网络爬虫--如何抓取html页面和httpClient的使用
- 如何让搜索引擎抓取AJAX内容?
- 如何解决远程页面抓取中的乱码问题
- Scrapy处理ajax页面数据抓取
- 用C#抓取AJAX页面的内容[转]
- 如何抓取AJAX/Javascript模拟的超链接
- 如何解决远程页面抓取中的乱码问题
- 如何让搜索引擎抓取AJAX内容
- 【网络爬虫】【java】微博爬虫(二):如何抓取HTML页面及HttpClient使用
- 如何使用Selenium+PhantomJS抓取动态页面以及常见指令和问题
- 如何让搜索引擎抓取AJAX内容?
- 爬虫如何抓取到Asp.Net中__doPostBack获取新页面的数据
- Ajax抓取页面将html转为dom对象并且获取对象内部的元素
- 用C#抓取AJAX页面的内容
- ASP.NET如何跨站抓取页面
- 如何去除AJAX收到数据中包含的html页面数据
- SeimiCrawler+SeimiAgent完美解决动态页面渲染Ajax抓取问题
- 如何让搜索引擎抓取AJAX内容?
- 如何让搜索引擎抓取AJAX内容?