- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于P2P分式的网络爬虫设计
基于P2P分布式的网络爬虫设计
摘要 : 未解决传统网络爬虫的在扩展性、容错性和低效性,提出一种基于P2P的分布式网络爬虫。分布式网络爬虫通过爬虫协调节点提高网络爬虫的爬取数据的效率和扩展性。本文首先介绍了传统的网络爬虫的原理,在此原理的基础上对其进行了改进,分析了分布式网络爬虫的结构设计,均衡负载策略和通信策略,从而提高网络爬虫的容错性。
关键字 网络爬虫 P2P 分布式 负载策略 通信策略
引言
Web资源是当今社会中获取资源重要途径之一,随着信息爆炸性增长,人们对信息资源的需求也越来越大,如何使用网络爬虫技术高效的爬取Web中的数据成为了一个严峻的问题?由于传统的网络爬虫的扩展性和容错性比较差,因此在很多方面已经无法胜任高效爬取的任务。
由于Web信息具有分布式的特性,因此将网络爬虫采取分布式的方式进行设计可以大大提高爬取数据的效率。分布式的网络爬虫可以借助普通PC用户提供的空闲资源来获取网络,可以降低爬取数据的成本,减少对网络造成的负担。设计一个分布式的网络爬虫首要了解传统的网络爬虫爬取数据的原理,在其基础上进行改进和优化。
本文详细介绍了分布式系统中常见的几种结构,并以P2P结构为例,说明了如何对资源的分配策略已达到每个节点的公平性,同时介绍了节点间的通信协议如何保证分布式网络爬虫的良好容错性和扩展性。
传统网络爬虫
2.1 工作原理
网络爬虫是一个Web程序,按照某种规则自动爬取万维网中的Web页面,将爬取到的网页中的关键字存入关键字数据库中,用户通过有哪些信誉好的足球投注网站引擎或许相关信息的页面。
传统的网络爬虫由带爬取的URL库、未爬取的URL库、爬虫主题线程模块和内容提取模块组成。其工作原理如图1,网络爬虫从一个或若干个初始网页的URl开始,通过爬虫主题线程模块从万维网中获得初始网页上的URL和网页信息,将新获取的URL存放在待爬取的URL队列中,将获取到的网页信息传给内容提取模块,内容提取模块将访问过的URL存入已爬行URL库中,将网页信息存入页面信息库中,直到满足一定停止条件。通过一定的网页过滤算法过滤掉与主题无关URL,遵循一定的调度策略从带爬取队列中选择下一次要抓取的URL。
图1:传统网络爬虫原理
2.2 网页抓取策略
网页抓取策略可以分为三类抓取策略,分别是深度优先,广度优先和最佳优先,深度优先策略容易使网络爬虫陷入问题,因此较为常用的是广度优先和最佳优先策略。
深度优先
深度优先从初始的URL页面开始,通过一定的规则从初始URL库中选择一个URL,分析这个网页中的其他URL,选择一个再进入。如此一个链接一个链接地抓取下去,直到处理完一条线路为止然后再处理下一个URL。深度优先策略设计比较简单,但是一个门户网站中提供的连接的重要性随着层次的深入逐级降低,从而使过度深入抓取的网页的价值过低,因此深度优先策略直接影响了抓取效率与抓取命中率。
广度优先
广度优先是先对初始的所有URL网页进行抓取,然后通过网页过滤策略选取其中一个链接的网页,继续抓取这个网页中的所有URL链接网页,这样逐层进行抓取。由于初始URL在一定链接距离内的网页是具有主题相关性的概率很大,但是随着抓取网页的增多,大量的无关网页将被下载并过滤,算法的效率将变低。
最佳优先策略
根据机器学习的一些算法提供一种网页分析算法,对初始的URL进行与要获取主题的相关性评估,选取评估最好的一个或几个URL进行抓取。它只访问进过网页分析算法预测为“有用”的网页。这种算法的优点在于可以提高网页的爬取效率,但是却容易忽略被过滤到的URL网页路径中与主题相关的页面,因此最佳优先策略是一种局部的抓取算法,在使用的过程要通过一定的优化使其能跳出局部最优点。
分布式网络爬虫
由于传统的网络爬虫是使用集中方式来实现的,由于其扩展性和容错性较差,在这个以大数据为背景的时代已经不能满足用户对数据的需求,分布式技术能够最快的有哪些信誉好的足球投注网站大量网页,因此分布式的网络爬虫已经逐渐成为了网络爬虫的一个发展方向。
3.1 现状分析
分布式网络爬虫在当今社会已经有了比较广泛的应用,例如Google和百度所使用的网络爬虫就采用了分布式系统,但是由于涉及商业机密,因此很少的想关信息进行交流,目前国外使用较多的分布式爬虫有Mercator、Google Crawler、UbiCrwaler、Internet Archive Crawler等,国内比较著名的是Web Gather。
Google的分布式网络爬虫系统是一台中央主机和三台负责爬虫的机器,并且这三台机器只与中央主机通信。中央主机从一个文件系统中读取URL,并把它们分给其它机器的爬虫进程中。爬虫采用异步I/O同时从三百个网站上获取数据。所有爬虫将下载下来的页面压缩并存储在磁盘上。然后索引进程从这些HTML页面中将URL提取出来存放在
文档评论(0)