网络爬行蜘蛛定义及原理讲解

上传人:卷*** 文档编号:124813394 上传时间:2022-07-25 格式:DOC 页数:12 大小:85.50KB
收藏 版权申诉 举报 下载
网络爬行蜘蛛定义及原理讲解_第1页
第1页 / 共12页
网络爬行蜘蛛定义及原理讲解_第2页
第2页 / 共12页
网络爬行蜘蛛定义及原理讲解_第3页
第3页 / 共12页
资源描述:

《网络爬行蜘蛛定义及原理讲解》由会员分享,可在线阅读,更多相关《网络爬行蜘蛛定义及原理讲解(12页珍藏版)》请在装配图网上搜索。

1、网络爬行蜘蛛定义及原理解说当“蜘蛛”程序浮现时,现代意义上的搜索引擎才初露端倪。它事实上是一种电脑“机器人”(Computer Robot),电脑“机器人”是指某个能以人类无法达到的速度不间断地执行某项任务的软件程序。由于专门用于检索信息的“机器人”程序就象蜘蛛同样在网络间爬来爬去,反反复复,不知疲倦。因此,搜索引擎的“机器人”程序就被称为“蜘蛛”程序。 网络蜘蛛什么是网络蜘蛛呢?网络蜘蛛即Web Spider,是一种很形象的名字。把互联网比方成一种蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页,从 网站某一种页面(一般是首页)开始,读取网页的内容,找

2、到在网页中的其他链接地址,然后通过这些链接地址寻找下一种网页,这样始终循环下去,直到把这个网 站所有的网页都抓取完为止。如果把整个互联网当成一种网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。这样看来,网络蜘蛛就是一种爬行程序,一种抓取网页的程序。来源发展要说网络蜘蛛的来源,我们还得从搜索引擎说起,什么是搜索引擎呢?搜索引擎的来源是什么,这和网络蜘蛛的来源密切有关。搜索引擎指自动从英特网收集信息,通过一定整顿后来,提供应顾客进行查询的系统。英特网上的信息浩瀚万千,并且毫无秩序,所有的信息象汪洋上的一种个小岛,网页链接是这些小岛之间纵横交错的桥梁,而搜索引擎,则为你绘制一幅一目

3、了然的信息地图,供你随时查阅。 搜索引擎从1990年原型初显,到目前成为人们生活中必不可少的一部分,它经历了太多技术和观念的变革。十四年前1994年的一月份,第一种既可搜索又可浏览的分类目录EINetGalaxy上线了。在它之后才浮现了雅虎,直至我们目前熟知的Google、百度。但是她们都不是第一种吃搜索引擎这个螃蟹的第一人。从搜索FTP上的文献开始,搜索引擎的原型就浮现了,那时尚未有万维网,当时人们先用手工后用蜘蛛程序搜索网页,但随着互联网的不断壮大,如何可以收集到的网页数量更多、时间更短成为了当时的难点和重点,成为人们研究的重点。 搜索引擎原型初显如果要追溯的话,搜索引擎的历史比World

4、WideWeb 还要长。早在Web浮现之前,互联网上就已经存在许多旨在让人们共享的信息资源了。这些资源当时重要存在于多种容许匿名访问的FTP 站点。为了便于人们在分散的FTP资源中找到所需的东西,1990年,加拿大麦吉尔大学(McGillUniversity)的几种大学生开发了一种软件Archie。它是一种可搜索的FTP文献名列表,顾客必须输入精确的文献名搜索,然后Archie会告诉顾客哪一种FTP地址可如下载这个文献。Archie事实上是一种大型的数据库,再加上与这个大型数据库有关联的一套检索措施。Archie虽然还不是搜索引擎,但是从它的工作原理上看,它是所有搜索引擎的祖先。当万维网(Wo

5、rldWideWeb)浮现后,人们可以通过 html传播网页信息,网络上的信息开始成倍增长。人们纷纷使用多种措施将网络上的信息收集来,进行分类、整顿,以以便查找。目前人们很熟悉的网站雅虎(Yahoo)就是在这个环境下诞生的。还在Stanford大学读书的美籍华人杨致远和她的同窗迷上了互联网。她们将互联网上有趣的网页收集过来,与同窗一起分享。后来,1994年4月,她们俩共同办了雅虎。随着访问量和收录链接数的增长,雅虎目录开始支持简朴的数据库搜索。但是由于雅虎的数据是手工输入的,因此不能真正被归为搜索引擎,事实上只是一种可搜索的目录。当“蜘蛛”程序浮现时,现代意义上的搜索引擎才初露端倪。它事实上是

6、一种电脑“机器人”(Computer Robot),电脑“机器人”是指某个能以人类无法达到的速度不间断地执行某项任务的软件程序。由于专门用于检索信息的“机器人”程序就象蜘蛛同样在网络间爬来爬去,反反复复,不知疲倦。因此,搜索引擎的“机器人”程序就被称为“蜘蛛”程序。这种程序实际是运用html文档之间的链接关系,在Web上一种网页一种网页的爬取(crawl),将这些网页抓到系统来进行分析,并放入数据库中。第一种开发出“蜘蛛”程序的是MatthewGray,她于1993年开发了WorldWideWebWanderer,它最初建立时是为了记录互联网上的服务器数量,到后来发展到可以捕获网址。现代搜索引

7、擎的思路就来源于Wanderer,后来诸多人在此基本上对蜘蛛程序进行了改善。1994年7月20日发布的Lycos网站第一种将 “蜘蛛”程序接入到其索引程序中。引入“蜘蛛”后给其带来的最大优势就在于其远胜于其他搜索引擎的数据量。自此之后几乎所有占据主导地位的搜索引擎中,都靠“蜘蛛”来收集网页信息。Infoseek是另一种重要的搜索引擎,于1994年年终才与公众会面。起初,Infoseek只是一种不起眼的搜索引擎,它沿袭Yahoo!和Lycos的概念,并没有什么独特的革新。但是它友善的顾客界面、大量附加服务使它在顾客中赢得了口碑。1995年12月,它与Netscape的战略性合同,使它成为一种强势

8、搜索引擎:当顾客点击Netscape浏览器上的搜索按钮时,弹出Infoseek的搜索服务,而此前由Yahoo!提供该服务。 1995年12月15日,Alta Vista正式上线。它是第一种支持高档搜索语法的搜索引擎,成功地整合了此前人类所有的信息检索技术,解决了涉及字根解决、核心词检索、布尔逻辑,以及通过向量空间模型的查询排名等核心问题。正式公开之前,Alta Vista就已经拥有20万访问顾客,在短短三个星期之内,到访人数由每天30万次增长到200万次。它的成功在于满足了顾客三个方面的需求:网上索引范畴超过了此前任何一家搜索引擎;短短几秒钟内便可从庞大的数据库中为顾客返回搜索成果;Alta

9、Vista小组从一开始就采用了一种模块设计技术,可以跟踪网站的流行趋势,同步不断扩大解决能力。在当时许多搜索引擎之中,Alta Vista脱颖而出,成为网络搜索的代名词。Google就是站在这样的巨人的肩膀上颠覆并发明着。“上网即搜索” 变化了人们上网方式的,就是目前鼎鼎大名的Google。Google并不是搜索引擎的发明者,甚至有点落后,但是它却让人们爱上了搜索。1998年9月,在佩奇和布林创立Google之时,业界对互联网搜索功能的理解是:某个核心词在一种文档中浮现的频率越高,该文档在搜索成果中的排列位置就要越明显。这就引出了这样一种问题,如果一种页面充斥着某一种核心字的话,那么它将排在很

10、明显的位置,但这样一种页面对于顾客来说,却没有任何意义。佩奇和布林发明了“网页级别”(PageRank)技术,来排列搜索成果。即考察该页面在网上被链接的频率和重要性来排列,互联网上指向这一页面的重要网站越多,该页面的位次也就越高。当从网页A链接到网页B时,Google 就觉得“网页A投了网页B一票”。Google根据网页的得票数评估其重要性。然而,除了考虑网页得票数的纯数量之外,Google还要分析投票的网页,“重要”的网页所投出的票就会有更高的权重,并且有助于提高其她网页的“重要性”。 Google以其复杂而全自动的搜索措施排除了任何人为因素对搜索成果的影响。没人能花钱买到更高的网页级别,从

11、而保证了网页排名的客观公正。除此之外,动态摘要、网页快照、多文档格式支持、地图股票词典寻人等集成搜索也都深得网民的爱慕。其她众多搜索引擎也都紧跟Google,推出这些服务。Fast(Alltheweb)公司发布的搜索引擎AllTheWeb,总部位于挪威,其在海外的风头直逼Google。Alltheweb的网页搜索支持Flash和pdf搜索,支持多语言搜索,还提供新闻搜索、图像搜索、视频、MP3、和FTP搜索,拥有极其强大的高档搜索功能。而中国的百度更是凭借“更懂中文”而吸引着中国的网络受众,它拥有超过10亿的中文网页数据库,并且,这些网页的数量每天正以千万级的速度在增长。搜索引擎越来越成为人们

12、生活中重要的一部分,找资料、查地图、听音乐,只有想不到的,没有搜索不到的。搜索引擎的三个基本原理1运用蜘蛛系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其他网页,反复这过程,并把爬过的所有网页收集回来。2.由分析索引系统程序对收集回来的网页进行分析,提取有关网页信息,根据一定的有关度算法进行大量复杂计算,得到每一种网页针对页面内容中及超链中每一种核心词的有关度(或重要性),然后用这些有关信息建立网页索引数据库。3.当顾客输入核心词搜索后,由搜索系统程序从网页索引数据库中找到符合该核心词的所有有关网页。有关度数值排序,有关度越高,排名越靠前。最后,由页面生成系统将搜索成果的链接地址和

13、页面内容描述等内容组织起来返回给顾客。工作原理对于搜索引擎来说,要抓取互联网上所有的网页几乎是不也许的,从目前发布的数据来看,容量最大的搜索引擎也但是是抓取了整个网页数量的百分之四十左右。这 其中的因素一方面是抓取技术的瓶颈,无法遍历所有的网页,有许多网页无法从其他网页的链接中找到;另一种因素是存储技术和解决技术的问题,如果按照每个页 面的平均大小为20K计算(涉及图片),100亿网页的容量是100G字节,虽然可以存储,下载也存在问题(按照一台机器每秒下载20K计算, 需要340台机器不断的下载一年时间,才干把所有网页下载完毕)。同步,由于数据量太大,在提供搜索时也会有效率方面的影响。因此,许

14、多搜索引擎的网络蜘 蛛只是抓取那些重要的网页,而在抓取的时候评价重要性重要的根据是某个网页的链接深度。 在抓取网页的时候,网络蜘蛛一般有两种方略:广度优先和深度优先。 在抓取网页的时候,网络蜘蛛一般有两种方略:广度优先和深度优先。广度优先是指网络蜘蛛会先抓取起始网页中链接的所有网页,然后再选择其中 的一种链接网页,继续抓取在此网页中链接的所有网页。这是最常用的方式,由于这个措施可以让网络蜘蛛并行解决,提高其抓取速度。深度优先是指网络蜘蛛会从 起始页开始,一种链接一种链接跟踪下去,解决完这条线路之后再转入下一种起始页,继续跟踪链接。这个措施有个长处是网络蜘蛛在设计的时候比较容易。两种策 略的区别

15、,下图的阐明会更加明确。由于不也许抓取所有的网页,有些网络蜘蛛对某些不太重要的网站,设立了访问的层数。例如,在上图中,A为起始网页,属于0层,B、C、D、E、F属于第1 层,G、H属于第2层,I属于第3层。如果网络蜘蛛设立的访问层数为2的话,网页I是不会被访问到的。这也让有些网站上一部分网页可以在搜索引擎上搜索 到,此外一部分不能被搜索到。对于网站设计者来说,扁平化的网站构造设计有助于搜索引擎抓取其更多的网页。 网络蜘蛛在访问网站网页的时候,常常会遇到加密数据和网页权限的问题,有些网页是需要会员权限才干访问。固然,网站的所有者可以通过合同让网络蜘蛛不去抓 取(下小节会简介),但对于某些发售报告

16、的网站,她们但愿搜索引擎能搜索到她们的报告,但又不能完全免费的让搜索者查看,这样就需要给网络蜘蛛提供相应的 顾客名和密码。网络蜘蛛可以通过所给的权限对这些网页进行网页抓取,从而提供搜索。而当搜索者点击查看该网页的时候,同样需要搜索者提供相应的权限验证。每个网络蜘蛛均有自己的名字,在抓取网页的时候,都会向网站标明自己的身份。网络蜘蛛在抓取网页的时候会发送一种祈求,这个祈求中就有一种字段为User agent,用于标记此网络蜘蛛的身份。例如Google网络蜘蛛的标记为GoogleBot,百度网络蜘蛛的标记为百度Spider, Yahoo网络蜘蛛的标记为Inktomi Slurp。如果在网站上有访问

17、日记记录,网站管理员就能懂得,哪些搜索引擎的网络蜘蛛过来过,什么时候过来的,以及读了多少数据等等。如果网站管理员发 现某个蜘蛛有问题,就通过其标记来和其所有者联系。网络蜘蛛进入一种网站,一般会访问一种特殊的文本文献Robots.txt,这个文献一般放在网站服务器的根目录下,如:。 网站管理员可以通过robots.txt来定义哪些目录网络蜘蛛不能访问,或者哪些目录对于某些特定的网络蜘蛛不能访问。例如有些网站的可执行文献目录和 临时文献目录不但愿被搜索引擎搜索到,那么网站管理员就可以把这些目录定义为回绝访问目录。Robots.txt语法很简朴,例如如果对目录没有任何限 制,可以用如下两行来描述:

18、User-agent: *Disallow固然,Robots.txt只是一种合同,如果网络蜘蛛的设计者不遵循这个合同,网站管理员也无法制止网络蜘蛛对于某些页面的访问,但一般的网络蜘蛛都会遵循这些合同,并且网站管理员还可以通过其他方式来回绝网络蜘蛛对某些网页的抓取。网络蜘蛛在下载网页的时候,会去辨认网页的HTML代码,在其代码的部分,会有META标记。通过这些标记,可以告诉网络蜘蛛本网页与否需要被抓取,还可 以告诉网络蜘蛛本网页中的链接与否需要被继续跟踪。例如:表达本网页不需要被抓取,但是网页内的链接需要被跟踪。搜索引擎建立网页索引,解决的对象是文本文献。对于网络蜘蛛来说,抓取下来网页涉及多种格

19、式,涉及html、图片、doc、pdf、多媒体、动态网页及其 它格式等。这些文献抓取下来后,需要把这些文献中的文本信息提取出来。精确提取这些文档的信息,一方面对搜索引擎的搜索精确性有重要作用,另一方面对于网 络蜘蛛对的跟踪其他链接有一定影响。对于doc、pdf等文档,这种由专业厂商提供的软件生成的文档,厂商都会提供相应的文本提取接口。网络蜘蛛只需要调用这些插件的接口,就可以轻松的提取文档中的文本信息和文献其他有关的信息。但HTML等文档不同样,HTML有一套自己的语法,通过不同的命令标记符来表达不同的字体、颜色、位置等版式,如:、等, 提取文本信息时需要把这些标记符都过滤掉。过滤标记符并非难事

20、,由于这些标记符均有一定的规则,只要按照不同的标记符获得相应的信息即可。但在辨认这些信 息的时候,需要同步记录许多版式信息,例如文字的字体大小、与否是标题、与否是加粗显示、与否是页面的核心词等,这些信息有助于计算单词在网页中的重要程 度。同步,对于HTML网页来说,除了标题和正文以外,会有许多广告链接以及公共的频道链接,这些链接和文本正文一点关系也没有,在提取网页内容的时候, 也需要过滤这些无用的链接。例如某个网站有“产品简介”频道,由于导航条在网站内每个网页均有,若但是滤导航条链接,在搜索“产品简介”的时候,则网站内 每个网页都会搜索到,无疑会带来大量垃圾信息。过滤这些无效链接需要记录大量的

21、网页构造规律,抽取某些共性,统一过滤;对于某些重要而成果特殊的网站,还 需要个别解决。这就需要网络蜘蛛的设计有一定的扩展性。对于多媒体、图片等文献,一般是通过链接的锚文本(即,链接文本)和有关的文献注释来判断这些文献的内容。例如有一种链接文字为“张曼玉照片”,其链接指 向一张bmp格式的图片,那么网络蜘蛛就懂得这张图片的内容是“张曼玉的照片”。这样,在搜索“张曼玉”和“照片”的时候都能让搜索引擎找到这张图片。另 外,许多多媒体文献中有文献属性,考虑这些属性也可以更好的理解文献的内容。动态网页始终是网络蜘蛛面临的难题。所谓动态网页,是相对于静态网页而言,是由程序自动生成的页面,这样的好处是可以迅

22、速统一更改网页风格,也可以减少网 页所占服务器的空间,但同样给网络蜘蛛的抓取带来某些麻烦。由于开发语言不断的增多,动态网页的类型也越来越多,如:asp、jsp、php等。这些类型 的网页对于网络蜘蛛来说,也许还稍微容易某些。网络蜘蛛比较难于解决的是某些脚本语言(如VBScript和JavaScript)生成的网页,如果要完 善的解决好这些网页,网络蜘蛛需要有自己的脚本解释程序。对于许多数据是放在数据库的网站,需要通过本网站的数据库搜索才干获得信息,这些给网络蜘蛛的抓 取带来很大的困难。对于此类网站,如果网站设计者但愿这些数据能被搜索引擎搜索,则需要提供一种可以遍历整个数据库内容的措施。对于网页

23、内容的提取,始终是网络蜘蛛中重要的技术。整个系统一般采用插件的形式,通过一种插件管理服务程序,遇到不同格式的网页采用不同的插件解决。这种 方式的好处在于扩大性好,后来每发现一种新的类型,就可以把其解决方式做成一种插件补充到插件管理服务程序之中。由于网站的内容常常在变化,因此网络蜘蛛也需不断的更新其抓取网页的内容,这就需要网络蜘蛛按照一定的周期去扫描网站,查看哪些页面是需要更新的页面,哪些页面是新增页面,哪些页面是已通过期的死链接。- 搜索引擎的更新周期对搜索引擎搜索的查全率有很大影响。如果更新周期太长,则总会有一部分新生成的网页搜索不到;周期过短,技术实现会有一定难度,并且会 对带宽、服务器的

24、资源均有挥霍。搜索引擎的网络蜘蛛并不是所有的网站都采用同一种周期进行更新,对于某些重要的更新量大的网站,更新的周期短,如有些新闻 网站,几种小时就更新一次;相反对于某些不重要的网站,更新的周期就长,也许一两个月才更新一次。一般来说,网络蜘蛛在更新网站内容的时候,不用把网站网页重新抓取一遍,对于大部分的网页,只需要判断网页的属性(重要是日期),把得到的属性和上次抓取的属性相比较,如果同样则不用更新。目前人们对网络蜘蛛的工作原理有了初步的理解了吧,理解后就要在后来的网站制作中考虑蜘蛛的爬行规律,例如制作网站地图就很重要,好了,如果你有更好的见解,请到这里刊登,火鸟非常乐意与你交流,共同研究网站制作

25、技巧,尽量将自己的网站制作的符合原则,符合顾客的习惯!现代搜索引擎对网页的重要性一般用PR值来量化。一般说来,PR值越高,反映在在搜索成果中的排名越靠前(重要新越高),目前有诸多人通过诸多方式来提高自己网站的PR值,除网站内部的优化外,大多数人采用的是外部链接。如下:PR(A) = (1-d) + d(PR(t1)/C(t1) + . + PR(tn)/C(tn) 其中PR(A)表达的是从一种外部链接站点t1上,根据Pagerank?系统给你的网站所增长的PR分值;PR(t1)表达该外部链接网站自身的PR分值;C(t1)则表达该外部链接站点所拥有的外部链接数量。人们要谨记:一种网站的投票权值只

26、有该网站PR分值的0.85,并且这个0.85的权值平均分派给其链接的每个外部网站。 设想一种名为的网站,被链接至PR值为4,外部链接数为9的网站XYZ.COM,则计算公式如下: PR(AKA) = (1-0.85) + 0.85*(4/10) PR(AKA) = 0.15 + 0.85*(0.4) PR(AKA) = 0.15 + 0.34 PR(AKA) = 0.49 也就是说,如果我的网站获得一种PR值为4,外部链接数为9的网站的链接,最后我的网站将获得0.49的PR分值。 再让我们看看如果我的网站获得的是一种PR分值为8,外部链接数为16的网站的链接,那么我将获得的PR分值将是: PR(

27、AKA) = (1-0.85) + 0.85*(8/16) PR(AKA) = 0.15 + 0.85(0.5) PR(AKA) = 0.15 + 0.425 PR(AKA) = 0.575 上述两个例子表白,外部链接站点的PR值固然重要,该站点的外部链接数也是一种需要考虑的重要因素。评价指标覆盖率网络蜘蛛的首要目的是抓取互联网上所需的信息。因此,有价值的信息与否都收录,收录的比例(覆盖率)是网络蜘蛛的基本评价指标时效性顾客对搜索引擎的查询规定越来越高,其中重要的一点就是查询时效性,即事件发生并在互联网上传播后(以新闻、论坛、博客等多种形式),顾客需要通过搜索引擎尽快能检索到相应内容。而索引的前提是收录,因此需要网络蜘蛛尽快的抓取互联网上最新浮现的资源反复率互联网上反复的内容诸多,如何尽早的发现页面反复并消除之,是网络蜘蛛需要解决的问题。 除转载导致的反复外,反复总能体现为多种不同的模式,站点级反复,目录级反复,CGI级反复,参数级反复等等,及早发现这些模式并进行解决,能节省系统的存储、抓取、建库和呈现资源。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!