动态web 的网络爬虫的研究.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态web 的网络爬虫的研究

动态web 的网络爬虫的研究  1 网络爬虫的历史及现状   网络爬虫是一个自动提取网页的程序, 如果把互联网比喻成一个蜘蛛网,那么爬虫就是在网上爬来爬去的蜘蛛。传统爬虫从一个或若干初始网页的URL 开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。随着互联网全面从Web1.0 时代迅速进入Web2.0 时代,由于Ajax 异步加载的特性,为减轻服务器压力,基于Ajax 的动态加载技术方案成为了个大公司的首选。然而随着移动互联网的兴起JavaScript 在移动端和PC 客户端的优良特性被广泛挖掘,基于前端MVC/MVVM 的模式逐渐进入各大互联网公司的首选解决方案。数据显示2011 年互联网上动态网页与静态网页的比例为12.1:1 到2014 年动态网页与静态网页的比例攀升到22:1。动态网页的急剧攀升让各大有哪些信誉好的足球投注网站引擎公司愈发感觉到基于动态Web 页面的网络爬虫将越来越重要。   2 问题现状及解决方案   2.1 问题现状   传统的网络爬虫技术主要应用于抓取静态web 网页,由于Ajax 改变了以往的单纯的HTTP 请求/ 响应协议机制。传统的爬虫根据url 抓取页面并解析页面内容提取新的url 进行下一步抓取的机制很难完成。其次,如今互联网中存在许多对实时性要求比较高的网站,如股票、火车票等。这些网站包含大量的数据信息,并且在随着服务器端不断的更新。当有哪些信誉好的足球投注网站引擎抓取这些数据时,由于需要将数据下载到本地,因此永远存在数据的同步性的问题,然而这些实时性数据的商业价值却非常大。因此简单的讲,当前的有哪些信誉好的足球投注网站引擎爬虫系统遇到动态web 页面时的主要问题集中在:(1) 无法提取Ajax 加载的动态页中的url。(2) 无法抓取实时性数据。2.2 网络爬虫关键技术   (1)基于HTTP 请求响应模型。用户在浏览器中输入一个web 页面的url, 客户端向服务器端发出一个请求,服务器在接收到该请求后,如果没有错误将页面返回。   (2)HTML 标签及结构。用户在页面上看的展示都是基于HTML 进行展示的,因此爬虫需要对html 页面进行解析,提取页面中的url 信息(3) 文本对象模型(DOM)。DOM 是用来访问和处理HTML 和XML 文档的。它可以将HTML 和XML 文档结构化。   (4)正则表达式。根据正则表达式的优良特性,可以根据条件快速提取HTML 文本中的指定元素。   2.3 解决方案   AJAX 采用了JavaScript 驱动的异步请求/ 响应机制。并且,在Ajax 应用中,JavaScript 会对DOM 结构进行大量的变动,甚至页面所有内容都是通过JavaScript 直接从服务端读取并动态绘制出来的。因此爬虫引擎不能仅仅是基于HTTP 的协议驱动,而必须是基于事件驱动的。针对实时性数据, 系统的实时特性主要体现在两个方面:数据更新的实时性;数据变化后通过其它服务的实时性。在海量的数据面前,由于抓取能力有限,根本无法满足快速地更新所有的数据信息,为了保证用户对于数据高实时性的要求,应该尽可能地优先保证热门数据的数据更新,所以实时抓取的数据点选择是比较关键的。在这里我们使用购物助手的浏览记录以及购物有哪些信誉好的足球投注网站的查询记录当作热门商品为例说明。具体流程为:用户浏览某商品,购物助手获取该用户所浏览的商品 URL 以及其它商城该商品的 URL 列表发送到任务调度服务器,任务调度服务器根据上一次抓取的价格时间等信息来进行调度,将任务分配至抓取服务器,抓取服务器解析到新的价格后发送到结果入库服务器。结果入库服务器完成数据的更新,并通知其它价格事件监听程序。这就完成了整个基于查询驱动的实时抓取的过程。这种实时抓取策略就叫做“查询驱动抓取”(简称 QTC,Query Triggered Crawling)。价格服务器除了实时抓取和管理所有商品的价格之外,还需要向其它服务(如降价提醒、全网比价等)提供价格变化的更新事件。如何使得其它服务可以实时地得到商品的价格变化信息呢?我们首先介绍一下观察者模式。观察者模式(也被称为发布/ 订阅模式)是软件设计模式   的一种。   在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。观察者模式已经在数据变化的实时通知方面被广泛地应用,它使得服务具有高类聚、低耦合的特点。根据不同的应用,爬虫系统在许多方面存在差异,大体而言,可以将爬

文档评论(0)

专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!

1亿VIP精品文档

相关文档