基于广度优先搜索的网络蜘蛛设计_第1页
基于广度优先搜索的网络蜘蛛设计_第2页
基于广度优先搜索的网络蜘蛛设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于广度优先搜索的网络蜘蛛设计【摘要】网络蜘蛛搜索策略的研究是近年来专业搜索引擎研究的焦点之一,如何使搜索引擎快速准确地从庞大的网页数据中获取所需资源的需求是目前所面临的重要问题。本文重点阐述了搜索引擎的ebSpider(网络蜘蛛)的搜索策略和搜索优化措施,提出了一种简单的基于广度优先算法的网络蜘蛛设计方案,并分析了设计过程中的优化措施。【关键词】搜索引擎;网络蜘蛛;搜索策略0引言近年来,随着Internet技术的广泛应用,传统的通用搜索引擎,如Ggle、Fast、AltaVista和GT等正面临宏大的挑战。挑战之一是eb信息资源呈指数级增长,搜索引擎无法索引所有页面。据统计,目前eb上静态页

2、面的数量超过40亿个,而且这一数量还在以平均每天730万个页面的速度递增。在过去的几年中,尽管各种通用搜索引擎在索引技术、索引数量上有所进步,但远远无法跟上eb本身的增长速度,即使是目前全球最大的搜索引擎Ggle,其索引的页面数量仅占eb总量的40%;挑战之二是eb信息资源的动态变化,搜索引擎无法保证对信息的及时更新。近年来的研究说明,eb上的页面平均50天就有约50%的页面发生变化,而目前通用搜索引擎更新的时间至少需要数星期之久;挑战之三是传统的搜索引擎提供的信息检索效劳,不能满足人们日益增长的对个性化效劳的需要。因此如何设计网络蜘蛛(ebSpider)来更有效率的爬取互联网上的内容成为搜索

3、引擎的一个首要问题。在设计网络蜘蛛时,不仅需要充分考虑到爬取的效率和站点设置的灵敏性还要确保系统的稳定性。一个优秀的搜索引擎,需要不断的优化网络蜘蛛的算法,提升其性能。本文在分析网络蜘蛛的工作原理的根底上,提出了一种基于广度优先搜索算法的网络蜘蛛的实现,并对进步网络蜘蛛搜索效率的相关看法。由于不可能抓取所有的网页,有些网络蜘蛛对一些不太重要的网站,设置了访问的层数。2例如,在上图中,A为起始网页,属于0层,B、D、E、F属于第1层,G、H属于第2层,I属于第3层。假如网络蜘蛛设置的访问层数为2的话,网页I是不会被访问到的。这也让有些网站上一局部网页可以在搜索引擎上搜索到,另外一局部不能被搜索到

4、。对于网站设计者来说,扁平化的网站构造设计有助于搜索引擎抓取其更多的网页。网络蜘蛛在访问网站网页的时候,经常会遇到加密数据和网页权限的问题,有些网页是需要会员权限才能访问。当然,网站的所有者可以通过协议让网络蜘蛛不去抓取下小节会介绍,但对于一些出售报告的网站,他们希望搜索引擎能搜索到他们的报告,但又不能完全免费的让搜索者查看,这样就需要给网络蜘蛛提供相应的用户名和密码。网络蜘蛛可以通过所给的权限对这些网页进展网页抓取,从而提供搜索。而当搜索者点击查看该网页的时候,同样需要搜索者提供相应的权限验证。转贴于论文联盟.ll.2网络蜘蛛的设计根据抓取过程,蜘蛛主要分为三个功能模块,一个是网页读取模块主

5、要是用来读取远程eb效劳器上的网页内容,另一个是超链分析模块,这个模块主要是分析网页中的超链接,将网页上的所有超链接提取出来,放入到待抓取URL列表中,再一个模块就是内容分析模块,这个模块主要是对网页内容进展分析,将网页中所有超标志去掉只留下网页文字内容。蜘蛛的主要工作流程如下图。首先蜘蛛读取抓取站点的URL列表,取出一个站点URL,将其放入未访问的URL列表UVURL列表中,假如UVURL不为空刚从中取出一个URL判断是否已经访问过,假设没有访问过那么读取此网页,并进展超链分析及内容分析,并将些页存入文档数据库,并将些URL放入已访问URL列表VURL列表,直到UVRL为空为止,此时再抓取其

6、他站点,依次循环直到所有的站点URL列表都抓取完为止。为了进步网络蜘蛛的抓取效率,需要引入以下技术。1、多线程技术:由于抓取的站点URL相当多,采用单线程蜘蛛抓取时速度不够,也不能满足实际的需要。因此需要多线程技术来创立多个蜘蛛线程来同时抓取,以进步速度。2、网页抓取:网页抓取是基于HTTP协议之上的,网页上的资源有多种,有网页,有rd文档也有其他类型的文件,这样抓取时需要判断URL所指向资源的类型。3、超链分析:超链分析是一个比拟重要的环节,需要对HTL的各种标志tag有一个很全面的理解。需要反复测试,考虑各种情形的发生。超链分析时从网页里提取出来的是相对于当前页的相对URL,因此需要根据当

7、前页的绝对URL将提取的这个URL转换成绝对URL。在此过程中需要根据ParentURL就是当前页的URL作出各种判断。3改良方法商业化的蜘蛛需要抓取上亿的网页,因此抓取速度是一个关键,另外蜘蛛需要自动运行,尽是减少人工的参与,因此系统的性能也是一个很重要的关键,系统可以在发生异常的时候自动进展处理,防止程序的退出和死机。3有一些细节需要注意:系统应该使用多线程,使用多个蜘蛛同时抓取,在可能的情况下,最好是做成分布式的蜘蛛程序,蜘蛛应该分布地网络上多台效劳器上协同抓取网页,这样速度会更快,更符合我们的实际应用。对于同一网站的网页应该采用同一个Httpnnetin这样有效地节省创立一个连接的时间

8、,另外对于抓取的URL采用域名缓冲机制可在网关一级上实现,这样抓取时减少由域名到IP地址的转换时间以及重复的域名转换。假设能做到这一步将会大大减少抓取时间,因为访问一URL时每次都要进展域名到主机IP地址的转换。最好是可以将读取网页、超链分析及网页内容分析三局部分开来做,让它们并行协同工作,这样效率会更高。因为在这三个过程中网页读取比起其他两个功能来说是一个长任务,最耗时间。当抓取完一网页后,在抓取下一网页的时候让去执行超链分析和内容分析。这样在下一网页抓取完成之前超链分析和内容分析任务就能完成,抓取任务不会延迟,这样节省了一些时间。4完毕语随着人们对“个性化信息效劳需要的日益增长,专业搜索引擎的开展将成为搜索引擎开展的主要趋势之一。4网络蜘蛛搜索策略问题的研究,对专业搜索引擎的应用与开展具有重要意义。本文对现有的网络蜘蛛搜索策略进展了简单的介绍和分析,提出了一种基于广度优先搜索网络蜘蛛设计方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论