网络蜘蛛算法与蜘蛛程序构架.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

网络蜘蛛算法与蜘蛛程序构架

一、网络蜘蛛基本原理

网络蜘蛛即WebSpider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider

就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页

面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链

接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如

果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓

取下来。

对于搜索引擎来说,要抓取互联网上所有的网页几乎是不可能的,从目前公布的数据

来看,容量最大的搜索引擎也不过是抓取了整个网页数量的百分之四十左右。这其中的原因

一方面是抓取技术的瓶颈,无法遍历所有的网页,有许多网页无法从其它网页的链接中找到;

另一个原因是存储技术和处理技术的问题,如果按照每个页面的平均大小为20K计算(包含

图片),100亿网页的容量是100×2000G字节,即使能够存储,下载也存在问题(按照一台

机器每秒下载20K计算,需要340台机器不停的下载一年时间,才能把所有网页下载完毕)。

同时,由于数据量太大,在提供搜索时也会有效率方面的影响。因此,许多搜索引擎的网络

蜘蛛只是抓取那些重要的网页,而在抓取的时候评价重要性主要的依据是某个网页的链接深

度。

在抓取网页的时候,网络蜘蛛一般有两种策略:广度优先和深度优先(如下图所示)。

广度优先是指网络蜘蛛会先抓取起始网页中链接的所有网页,然后再选择其中的一个链接网

页,继续抓取在此网页中链接的所有网页。

由于不可能抓取所有的网页,有些网络蜘蛛对一些不太重要的网站,设置了访问的层

数。例如,在上图中,A为起始网页,属于0层,B、C、D、E、F属于第1层,G、H属于

第2层,I属于第3层。如果网络蜘蛛设置的访问层数为2的话,网页I是不会被访问到的。

这也让有些网站上一部分网页能够在搜索引擎上搜索到,另外一部分不能被搜索到。对于网

站设计者来说,扁平化的网站结构设计有助于搜索引擎抓取其更多的网页。

网络蜘蛛在访问网站网页的时候,经常会遇到加密数据和网页权限的问题,有些网页

是需要会员权限才能访问。当然,网站的所有者可以通过协议让网络蜘蛛不去抓取,但对于

一些出售报告的网站,他们希望搜索引擎能搜索到他们的报告,但又不能完全免费的让搜索

者查看,这样就需要给网络蜘蛛提供相应的用户名和密码。网络蜘蛛可以通过所给的权限对

这些网页进行网页抓取,从而提供搜索。而当搜索者点击查看该网页的时候,同样需要搜索

者提供相应的权限验证。

二、网站与网络蜘蛛

网络蜘蛛需要抓取网页,不同于一般的访问,如果控制不好,则会引起网站服务器负

担过重。每个网络蜘蛛都有自己的名字,在抓取网页的时候,都会向网站标明自己的身份。

网络蜘蛛在抓取网页的时候会发送一个请求,这个请求中就有一个字段为User-agent,用

于标识此网络蜘蛛的身份。例如Googl网络蜘蛛的标识为GoogleBot,Baidu网络蜘蛛的标

识为BaiDuSpider,Yahoo网络蜘蛛的标识为InktomiSlurp。如果在网站上有访问日志记录,

网站管理员就能知道,哪些搜索引擎的网络蜘蛛过来过,什么时候过来的,以及读了多少数

据等等。如果网站管理员发现某个蜘蛛有问题,就通过其标识来和其所有者联系。

网络蜘蛛进入一个网站,一般会访问一个特殊的文本文件Robots.txt,这个文件一般放

在网站服务器的根目录下,网站管理员可以通过robots.txt来定义哪些目录网络蜘蛛不能访

问,或者哪些目录对于某些特定的网络蜘蛛不能访问。例如有些网站的可执行文件目录和临

时文件目录不希望被搜索引擎搜索到,那么网站管理员就可以把这些目录定义为拒绝访问目

录。Robots.txt语法很简单,例如如果对目录没有任何**,可以用以下两行来描述:

User-agent:*

Disallow:

当然,Robots.txt只是一个协议,如果网络蜘蛛的设计者不遵循这个协议,网站管理员

也无法阻止网络蜘蛛对于某些页面的访问,但一般的网络蜘蛛都会遵循这些协议,而且网站

管理员还可以通过其它方式来拒绝网络蜘蛛对某些网页的抓取。

网络蜘蛛在下载网页的时候,会去识别网页的HTML代码,在其代码的部分,会有META

标识。通过这些标识,可以告诉网络蜘蛛本网页是否需要被抓取,还可以告诉网络蜘蛛本网

页中的链接是否

文档评论(0)

霁色雨后气暧林 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档