简析搜索引擎的网络爬虫技术_第1页
简析搜索引擎的网络爬虫技术_第2页
简析搜索引擎的网络爬虫技术_第3页
简析搜索引擎的网络爬虫技术_第4页
全文预览已结束

下载本文档

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

文档简介

1、简析搜索引擎的网络爬虫技术简析搜索引擎的网络爬虫技术1网络爬虫技术网络爬虫也称为文档抽取系统,是构成第三代搜索引擎系统的重要组成局部之一,主要由文档适配器与信息爬行器组成,文档适配器可以处理不同类型的文档,信息爬行器主要进展页面信息的搜集工作,文档抽取子系统首先根据配置文件的约定,定时产生信息爬行器对分布在网络上的信息节点进展遍历,然后调用对应的文档适配器来抽取网络文档信息。文档适配器可以抽取的页面文件种类繁多,可以对各种类型的文档以及多媒体文本信息等。信息爬行器为计算机程序的一个进程或线程,通常采用并发工作方式,以便能可能多、周期尽可能短地搜集网络节点的页面信息,同时还要防止死链接或无效链接

2、。信息爬行器一般采用分布式并行计算技术来进步工作的广度与速度。2图的遍历算法网络爬虫在网络中执行信息搜集的过程实际上就是一种图的遍历。图的遍历算法通常有两种方式:即广度优先算法与深度优先算法。下面就详细介绍一下两种算法。深度优先搜索算法在展开页面链接时总是从栈顶进展展开,因此随着时间的增加,栈的深度也在不断增加,位于底部的元素可能会长时间不能进展处理,从而造成该算法陷入一个大的页面而不能继续展开遍历。为了防止这一问题,可以采用广度优先搜索算法,广度优先搜索算法是通过队列这种数据构造进展展开的,根据各个元素节点间隔 最初节点的层次对所有的网络节点进展遍历,从而对每个节点都可以在访问全网一次的时间

3、内进展公平处理,抑制了深度优先算法陷入局部节点的缺乏,也保证了不会漏落伍列后面的的元素,从而到达了公平对待互联网上所有节点资源的目的。在广度优先算法中,根据是否已经对节点进展访问,将爬行队列构造为两局部:即待爬行队列与已爬行队列。待爬行队列主要存储需要进展访问的元素节点URL,而URL在队列中的先后顺序那么表达了算法的爬行策略。而已爬行队列那么主要存储已经访问过的URL,由于该队列的长度随着时间的增加不断增长,因此需要优化该队列的插入与查询操作;在网络爬虫的爬行过程中,不管是带爬行队列还是已爬行队列,都需要频繁进展插入与查询操作。因此,该队列数据构造的性能会直接影响搜索引擎的搜集性能。对爬行器

4、来说,网页的采集与解析是核心工作。而爬行程序是否高效,主要取决于网页采集的效率。其过程分为5个步骤:1将待爬行队列的第一个元素取出;2访问DNS效劳器,对URL进展域名解析;3根据RBT网络协议,获取该URL效劳器的权限;4假设得到访问权限,那么对效劳器发出URL恳求;5通过HTTP协议进展访问。网络爬虫在工作时,假设频繁访问DNS效劳器,可能会造成比较繁重的网络负担,引起效劳器响应以及网络延迟,会降低爬行程序的效率。因此,通常在本地效劳器上建立一个DNS缓存来降低对DNS效劳器的访问频率。同时,为了进步爬行程序的效率,通常采用多线程或者多进程来对网页采集程序进展流水线处理,多线程与多进程程序

5、设计相比照拟复杂,需要解决的问题主要是进程的同步和互斥;也就是解决多个线程或进程共享资源的问题。造成死锁的情况通常是占有一个资源然后又恳求另一资源,因此,假设系统只存在一个共享资源就不会造成会死锁。为理解决饿死问题,通常只采用一个等待对列,假设待爬行队列处于使用状态,那么将要访问该队列的线程插入等待队列。而队列的特点可以保证了所有的等待线程都公平对待,从而解决了饿死问题。详细算法如下:1对爬行队列上锁。假设爬行队列已经上锁,那么将该线程或进程插入等待对列。2取出待爬行队列的URL元素。3对爬行队列解锁,然后唤醒下一个进程或线程。4访问页面,将页面中的URL进展解析。5对爬行队列上锁。如爬行队列

6、已上锁,那么插入等待对列。6将步骤4得到的URL插入对列。7对爬行队列解锁,唤醒下一个进程或线程。8重复17直到完毕。3页面解析在解决了互联网节点页面遍历的问题后,网络爬虫剩下的工作就是页面解析,页面解析主要是分析与理解HTL超文本标记语言文档。HTL作为一种标记语言,可以对互联网节点的页面外观进展标准化处理,从而标准互联网节点页面的外观与功能。实际上,超文本标记语言就是以普通文本为根底,通过增加各种表现款式以及字体、颜色标签来实现文档的标准化。通常各种标签都用双箭头进展标识,而文本信息那么位于之间。图2为一个典型的超文本标记语言文档。在超文本标记语言中,可以表达连接的标签通常是anhr标签,

7、即通过进展标识的标签,长用来表达URL的超链接。各种页面通过该标签,将个节点互相独立的网页进展链接,从而构成了一种页面连接图的构造。解析HTL的文档包括两个步骤:1对表单进展识别解析,然后填写该表单提交恳求,在收到返回结果后,从结果中提取锚文本以及URL;2把超文本标记语言变换为纯文本。在解析页面的过程中,首先需要获取标签对之间的纯文本信息锚文本与该文本标签的URL地址,然后将HTL文档中的标签进展消除。这些工作都是字符串的处理工作,处理步骤如下:1使用HTL分析工具清洗页面文档,使之转变成全部标准化的超文本标记语言页面;2通过字符串处理工具解析HTL网页;3将结果进展输出。通过以上解析过程,将URL信息从页面中抽取出来,然后进展评价,再放入爬行队列进展处理。4完毕语本文主要介绍

温馨提示

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

评论

0/150

提交评论