基于p2p分布式的网络爬虫设计

基于p2p分布式的网络爬虫设计

ID:11265031

大小:130.90 KB

页数:12页

时间:2018-07-11

基于p2p分布式的网络爬虫设计_第1页
基于p2p分布式的网络爬虫设计_第2页
基于p2p分布式的网络爬虫设计_第3页
基于p2p分布式的网络爬虫设计_第4页
基于p2p分布式的网络爬虫设计_第5页
资源描述:

《基于p2p分布式的网络爬虫设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于P2P分布式的网络爬虫设计摘要:未解决传统网络爬虫的在扩展性、容错性和低效性,提出一种基于P2P的分布式网络爬虫。分布式网络爬虫通过爬虫协调节点提高网络爬虫的爬取数据的效率和扩展性。本文首先介绍了传统的网络爬虫的原理,在此原理的基础上对其进行了改进,分析了分布式网络爬虫的结构设计,均衡负载策略和通信策略,从而提高网络爬虫的容错性。关键字网络爬虫P2P分布式负载策略通信策略1.引言Web资源是当今社会中获取资源重要途径之一,随着信息爆炸性增长,人们对信息资源的需求也越来越大,如何使用网络爬虫技术高效的爬取Web中的数据成为了一

2、个严峻的问题?由于传统的网络爬虫的扩展性和容错性比较差,因此在很多方面已经无法胜任高效爬取的任务。由于Web信息具有分布式的特性,因此将网络爬虫采取分布式的方式进行设计可以大大提高爬取数据的效率。分布式的网络爬虫可以借助普通PC用户提供的空闲资源来获取网络,可以降低爬取数据的成本,减少对网络造成的负担。设计一个分布式的网络爬虫首要了解传统的网络爬虫爬取数据的原理,在其基础上进行改进和优化。本文详细介绍了分布式系统中常见的几种结构,并以P2P结构为例,说明了如何对资源的分配策略已达到每个节点的公平性,同时介绍了节点间的通信协议如何

3、保证分布式网络爬虫的良好容错性和扩展性。2.传统网络爬虫2.1工作原理网络爬虫是一个Web程序,按照某种规则自动爬取万维网中的Web页面,将爬取到的网页中的关键字存入关键字数据库中,用户通过搜索引擎或许相关信息的页面。传统的网络爬虫由带爬取的URL库、未爬取的URL库、爬虫主题线程模块和内容提取模块组成。其工作原理如图1,网络爬虫从一个或若干个初始网页的URl开始,通过爬虫主题线程模块从万维网中获得初始网页上的URL和网页信息,将新获取的URL存放在待爬取的URL队列中,将获取到的网页信息传给内容提取模块,内容提取模块将访问过的

4、URL存入已爬行URL库中,将网页信息存入页面信息库中,直到满足一定停止条件。通过一定的网页过滤算法过滤掉与主题无关URL,遵循一定的调度策略从带爬取队列中选择下一次要抓取的URL。内容提取模块Internet页面 信息库已访问URL网页信息页面中连接URLURLURL未爬行URL种子库爬虫主题线程模块已爬行URL种子库图1:传统网络爬虫原理2.2网页抓取策略网页抓取策略可以分为三类抓取策略,分别是深度优先,广度优先和最佳优先,深度优先策略容易使网络爬虫陷入问题,因此较为常用的是广度优先和最佳优先策略。1.深度优先深度优先从初始

5、的URL页面开始,通过一定的规则从初始URL库中选择一个URL,分析这个网页中的其他URL,选择一个再进入。如此一个链接一个链接地抓取下去,直到处理完一条线路为止然后再处理下一个URL。深度优先策略设计比较简单,但是一个门户网站中提供的连接的重要性随着层次的深入逐级降低,从而使过度深入抓取的网页的价值过低,因此深度优先策略直接影响了抓取效率与抓取命中率。2.广度优先广度优先是先对初始的所有URL网页进行抓取,然后通过网页过滤策略选取其中一个链接的网页,继续抓取这个网页中的所有URL链接网页,这样逐层进行抓取。由于初始URL在一定

6、链接距离内的网页是具有主题相关性的概率很大,但是随着抓取网页的增多,大量的无关网页将被下载并过滤,算法的效率将变低。3.最佳优先策略根据机器学习的一些算法提供一种网页分析算法,对初始的URL进行与要获取主题的相关性评估,选取评估最好的一个或几个URL进行抓取。它只访问进过网页分析算法预测为“有用”的网页。这种算法的优点在于可以提高网页的爬取效率,但是却容易忽略被过滤到的URL网页路径中与主题相关的页面,因此最佳优先策略是一种局部的抓取算法,在使用的过程要通过一定的优化使其能跳出局部最优点。3.分布式网络爬虫由于传统的网络爬虫是使

7、用集中方式来实现的,由于其扩展性和容错性较差,在这个以大数据为背景的时代已经不能满足用户对数据的需求,分布式技术能够最快的搜索大量网页,因此分布式的网络爬虫已经逐渐成为了网络爬虫的一个发展方向。3.1现状分析分布式网络爬虫在当今社会已经有了比较广泛的应用,例如Google和百度所使用的网络爬虫就采用了分布式系统,但是由于涉及商业机密,因此很少的想关信息进行交流,目前国外使用较多的分布式爬虫有Mercator、GoogleCrawler、UbiCrwaler、InternetArchiveCrawler等,国内比较著名的是WebG

8、ather。Google的分布式网络爬虫系统是一台中央主机和三台负责爬虫的机器,并且这三台机器只与中央主机通信。中央主机从一个文件系统中读取URL,并把它们分给其它机器的爬虫进程中。爬虫采用异步I/O同时从三百个网站上获取数据。所有爬虫将下载下来的页面压缩并存储

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。