下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动态web的网络爬虫的研究1网络爬虫的历史及现状网络爬虫是一个自动提取网页的程序,假设把互联网比喻成一个蜘蛛网,那么爬虫就是在网上爬来爬去的蜘蛛。传统爬虫从一个或假设干初始网页的URL开场,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停顿条件。假设把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。随着互联网全面从Web1.0时代迅速进入Web2.0时代,由于Ajax异步加载的特性,为减轻效劳器压力,基于Ajax的动态加载技术方案成为了个大公司的首选。然而随着挪动互联网的兴起JavaScript在挪动端和PC客户端的优良特性被广泛挖掘,基于前端MVC/MVVM的形式逐渐进入各大互联网公司的首选解决方案。数据显示2022年互联网上动态网页与静态网页的比例为12.1:1到2022年动态网页与静态网页的比例攀升到22:1。动态网页的急剧攀升让各大搜索引擎公司愈发感觉到基于动态Web页面的网络爬虫将越来越重要。2问题现状及解决方案2.1问题现状传统的网络爬虫技术主要应用于抓取静态web网页,由于Ajax改变了以往的单纯的恳求/响应协议机制。传统的爬虫根据url抓取页面并解析页面内容提取新的url进展下一步抓取的机制很难完成。其次,如今互联网中存在许多对实时性要求比拟高的网站,如股票、火车票等。这些网站包含大量的数据信息,并且在随着效劳器端不断的更新。当搜索引擎抓取这些数据时,由于需要将数据下载到本地,因此永远存在数据的同步性的问题,然而这些实时性数据的商业价值却非常大。因此简单的讲,当前的搜索引擎爬虫系统遇到动态web页面时的主要问题集中在:(1)无法提取Ajax加载的动态页中的url。(2)无法抓取实时性数据。2.2网络爬虫关键技术(1)基于恳求响应模型。用户在阅读器中输入一个web页面的url,客户端向效劳器端发出一个恳求,效劳器在接收到该恳求后,假设没有错误将页面返回。(2)HTML标签及构造。用户在页面上看的展示都是基于HTML进展展示的,因此爬虫需要对html页面进展解析,提取页面中的url信息(3)文本对象模型(DOM)。DOM是用来访问和处理HTML和XML文档的。它可以将HTML和XML文档构造化。(4)正那么表达式。根据正那么表达式的优良特性,可以根据条件快速提取HTML文本中的指定元素。2.3解决方案AJAX采用了JavaScript驱动的异步恳求/响应机制。并且,在Ajax应用中,JavaScript会对DOM构造进展大量的变动,甚至页面所有内容都是通过JavaScript直接从效劳端读取并动态绘制出来的。因此爬虫引擎不能仅仅是基于的协议驱动,而必须是基于事件驱动的。针对实时性数据,系统的实时特性主要表达在两个方面:数据更新的实时性;数据变化后通过其它效劳的实时性。在海量的数据面前,由于抓取才能有限,根本无法满足快速地更新所有的数据信息,为了保证用户对于数据高实时性的要求,应该尽可能地优先保证热门数据的数据更新,所以实时抓取的数据点选择是比拟关键的。在这里我们使用购物助手的阅读记录以及购物搜索的查询记录当作热门商品为例说明。详细流程为:用户阅读某商品,购物助手获取该用户所阅读的商品URL以及其它商城该商品的URL列表发送到任务调度效劳器,任务调度效劳器根据上一次抓取的价格时间等信息来进展调度,将任务分配至抓取效劳器,抓取效劳器解析到新的价格后发送到结果入库效劳器。结果入库效劳器完成数据的更新,并通知其它价格事件监听程序。这就完成了整个基于查询驱动的实时抓取的过程。这种实时抓取策略就叫做查询驱动抓取(简称QTC,QueryTriggeredCrawling)。价格效劳器除了实时抓取和管理所有商品的价格之外,还需要向其它效劳(如降价提醒、全网比价等)提供价格变化的更新事件。如何使得其它效劳可以实时地得到商品的价格变化信息呢?我们首先介绍一下观察者形式。观察者形式(也被称为发布/订阅形式)是软件设计形式的一种。在此种形式中,一个目的对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种形式通常被用来实作事件处理系统。观察者形式已经在数据变化的实时通知方面被广泛地应用,它使得效劳具有高类聚、低耦合的特点。根据不同的应用,爬虫系统在许多方面存在差异,大体而言,可以将爬虫划分为如下三种类型:批量型爬虫(BatchCrawler):批量型爬虫有比拟明确的抓取范围和目的,当爬虫到达这个设定的目的后,即停顿抓取过程。至于详细目的可能各异,也许是设定抓取一定数量的网页即可,也许是设定抓取消耗的时间等。增量型爬虫(IncrementalCrawler):增量型爬虫与批量型爬虫不同,会保持持续不断的抓取,对于抓取到的网页,要定期更新,因为互联网的网页处于不断变化中,新增网页、网页被删除或者网页内容更改都很常见,而增量型爬虫需要及时反映这种变化,所以处于持续不断的抓取过程中,不是在抓取新网页,就是在更新已有网页。通用的商业搜索引擎爬虫根本都属此类。垂直型爬虫(FocusedCrawter):垂直型爬虫关注特定主题内容或者属于特定行业的网页,比方对于在线旅游来说,只需要从互联网页而里找到与在线旅游相关的页面内容即可,其他行业的内容不在考虑范围。垂直型爬虫一个最大的特点和难点就是:如何识别网页内容是否属于指定行业或者主题。从节省系统资源的角度来说,不太可能把所有互联网页面下载下来之后再去挑选,这样浪费资源就太过分了,往往需要爬虫在抓取阶段就可以动态识别某个网址是否与主题相关,并尽量不去抓墩无关页面,以到达节省资源的目的。垂直搜索网站或者垂直行业网站往往需要此种类型的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新闻媒体工作者签证办理指南
- 电影院电梯井道安装及维护合同
- 商务旅游合同管理办法
- 终止广告合作意向书
- 员工团建活动激励管理办法
- 医院施工协议
- 保险业务清运施工合同
- 图书出发行费收据
- 医院培训师招聘合同
- 临时客服人员聘用协议
- 院内ACS与心脏骤停
- 文化活动实施方案 组委会职责
- 2024年广东南海产业集团有限公司招聘笔试冲刺题(带答案解析)
- 2024年接发列车技能竞赛理论考试题库800题(含答案)
- 2024年辅警考试公基常识300题(附解析)
- 扫黄打非主题班会 课件
- 2024年城市合伙人合同模板
- 中华民族精神智慧树知到答案2024年中央民族大学
- 中学教师评职称述职报告
- 糖尿病膳食指南2024
- 上海大学继续教育市场营销网课答案更新版
评论
0/150
提交评论