1. 首页
  2. 文档大全

毕业设计论文网络爬虫调研报告

上传者:she****nwa 2022-07-08 09:06:08上传 DOCX文件 31.42KB
毕业设计论文网络爬虫调研报告_第1页 毕业设计论文网络爬虫调研报告_第2页 毕业设计论文网络爬虫调研报告_第3页

《毕业设计论文网络爬虫调研报告》由会员分享,可在线阅读,更多相关《毕业设计论文网络爬虫调研报告(14页珍藏版)》请在文档大全上搜索。

1、窗体顶端网络爬虫调研报告基本原理Spider概述 Spider即网络爬虫 ,其定义有广义和狭义之分。狭义上指遵循标准的 http协议利用超链接和 Web文档检索的方法遍历万维网信息空间的软件程序 ;而广义的定义则是所有能遵循 http协议检索 Web文档的软件都称之为网络爬虫。 Spider是一个功能很强的自动提取网页的程序 ,它为搜索引擎从万维网上下载网页 ,是搜索引擎的重要组成 .它通过请求站点上的 HTML文档访问某一站点。它遍历 Web空间 ,不断从一个站点移动到另一个站点 ,自动建立索引 ,并加入到网页数据库中。网络爬虫进入某个超级文本时 ,它利用 HTML语言的标记结构来搜索信息及

2、获取指向其他超级文本的 URL地址 ,可以完全不依赖用户干预实现网络上的自动爬行和搜索。 Spider的队列 (1)等待队列 :新发现的 URL被加入到这个队列 ,等待被 Spider程序处理 ; (2)处理队列 :要被处理的 URL被传送到这个队列。为了避免同一个 URL被多次处理 ,当一个 URL被处理过后 ,它将被转移到完成队列或者错误队列 (如果发生错误 )。 (3)错误队列 :如果在下载网页是发生错误 ,该 URL将被加入 到错误队列。(4)完成队列 :如果在处理网页没有发生错误 ,该 URL将被加入到完成队列。 网络爬虫搜索策略在抓取网页的时候 ,目前网络爬虫一般有两种策略 :无主

3、题搜索与基于某特定主体的专业智能搜索。其中前者主要包括 :广度优先和深度优先。广度优先是指网络爬虫会先抓取起始网页中链接的所有网页 ,然后再选择其中的一个链接网页 ,继续抓取在此网页中链接的所有网页。这是最常用的方式,因为这个方法可以让网络爬虫并行处理 ,提高其抓取速度。深度优先是指网络爬虫会从起始页开始 ,一个链接一个链接跟踪下去 ,处理完这条线路之后再转入下一个起始页 ,继续跟踪链接。这个方法有个优点是网络爬虫在设计的时候比较容易。大多数网页爬行器采用宽度优先搜索策略或者是对这种策略的某些改进。在专业搜索引擎中 ,网络爬虫的任务是获取 Web页面和决定链接的访问顺序 ,它通常从一个 “种子

4、集 ”(如用户查询、种子链接或种子页面 )发,以迭代的方式访问页面和提取链接。搜索过程中 ,未访问的链接被暂存在一个称为 “搜索前沿 ”(Spider Frontier)的队列中 ,网络爬虫根据搜索前沿中链接的 “重要程度 ”决定下一个要访问的链接。如何评价和预测链接的 “重要程度 ”(或称价值 )是决定网络爬虫搜索策略的关键。众多的网络爬虫设计各不相同 ,但归根结底是采用不同的链接价值评价标准。常用开源网络爬虫介绍及其比较Nutch开发语言:Java简介:Apache的子项目之一,属于Lucene项目下的子项目。Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基

5、于Hadoop的分布式处理模型保证了系统的性能,类似Eclipse的插件机制保证了系统的可客户化,而且很容易集成到自己的应用之中。  Larbin开发语言:C+简介larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。latbin最初的设计也是依据设计简单但是高度可配置性的原

6、则,因此我们可以看到,一个简单的larbin的爬虫可以每天获取万的网页,非常高效。 Heritrix开发语言:Java简介与Nutch比较      Heritrix 和 Nutch。二者均为Java开源框架,Heritrix 是 SourceForge上的开源产品,Nutch为Apache的一个子项目,它们都称作网络爬虫/蜘蛛( Web Crawler),它们实现的原理基本一致:深度遍历网站的资源,将这些资源抓取到本地,使用的方法都是分析网站每一个有效的URI,并提交Http请求,从而获得相应结果,生成本地文件及相应的日志

7、信息等。 Heritrix 是个 "archival crawler" - 用来获取完整的、精确的、站点内容的深度复制。包括获取图像以及其他非文本内容。抓取并存储相关的内容。对内容来者不拒,不对页面进行内容上的修改。重新爬行对相同的URL不针对先前的进行替换。爬虫通过Web用户界面启动、监控、调整,允许弹性的定义要获取的URL。二者的差异:Nutch 只获取并保存可索引的内容。Heritrix则是照单全收。力求保存页面原貌 Nutch 可以修剪内容,或者对内容格式进行转换。 Nutch 保存内容为数据库优化格式便于以后索引;刷新替换旧的内容。而Heritrix 是

8、添加(追加)新的内容。 Nutch 从命令行运行、控制。Heritrix 有 Web 控制管理界面。 Nutch 的定制能力不够强,不过现在已经有了一定改进。Heritrix 可控制的参数更多。Heritrix提供的功能没有nutch多,有点整站下载的味道。既没有索引又没有解析,甚至对于重复爬取URL都处理不是很好。Heritrix的功能强大 但是配置起来却有点麻烦。三者的比较一、从功能方面来说,Heritrix与Larbin的功能类似。都是一个纯粹的网络爬虫,提供网站的镜像下载。而Nutch是一个网络搜索引擎框架,爬取网页只是其功能的一部分。二、从分布式处理来说,Nutch支持分布式处理,而

9、另外两个好像尚且还没有支持。三、从爬取的网页存储方式来说,Heritrix和 Larbin都是将爬取下来的内容保存为原始类型的内容。而Nutch是将内容保存到其特定格式的segment中去。四,对于爬取下来的内容的处理来说,Heritrix和 Larbin都是将爬取下来的内容不经处理直接保存为原始内容。而Nutch对文本进行了包括链接分析、正文提取、建立索引(Lucene索引)等处理。五,从爬取的效率来说,Larbin效率较高,因为其是使用c+实现的并且功能单一。表 3种爬虫的比较crawler开发语言功能单一支持分布式爬取效率镜像保存NutchJava×低×LarbinC

10、+×高HeritrixJava×中其他网络爬虫介绍:Heritrix Heritrix是一个开源,可扩展的web爬虫项目。Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签。WebSPHINX WebSPHINX是一个Java类包和Web爬虫的交互式开发环境。Web爬虫(也叫作机器人或蜘蛛)是可以自动浏览与处理Web页面的程序。WebSPHINX由两部分组成:爬虫工作平台和WebSPHINX类包。http:/www.cs.cmu.edu/rcm/websphinx/WebLech WebLech是一个功能强大的Web站点下载与镜像工

11、具。它支持按功能需求来下载web站点并能够尽可能模仿标准Web浏览器的行为。WebLech有一个功能控制台并采用多线程操作。Arale Arale主要为个人使用而设计,而没有像其它爬虫一样是关注于页面索引。Arale能够下载整个web站点或来自web站点的某些资源。Arale还能够把动态页面映射成静态页面。J-Spider J-Spider:是一个完全可配置和定制的Web Spider引擎.你可以利用它来检查网站的错误(内在的服务器错误等),网站内外部链接检查,分析网站的结构(可创建一个网站地图),下载整个Web站点,你还可以写一个JSpider插件来扩展你所需要的功能。spindle spi


文档来源:https://www.renrendoc.com/paper/212692662.html

文档标签:

下载地址