搜索引擎之网络爬虫

来源:互联网 发布:c语言的创始人 编辑:程序博客网 时间:2024/05/21 03:24

        通用搜索引擎的处理对象是互联网网页,目前网页数量以百亿计,搜索引擎的网络爬虫能够高效地将海量的网页数据传下载到本地,在本地 形成互联网网页的镜像备份。它是搜索引擎系统中很关键也很基础的构件。

 

1.网络爬虫的原理

         网络爬虫的本质就是http请求获得互联网中Web服务器的网页。

         网络爬虫采用浏览器式的方式来获取网页,过程如下:

        a)客户端程序连接到域名系统(DNS)服务器上,DNS服务器将主机名转换成IP 地址。

        b)客户端试着连接具有该IP地址的服务器。服务器上可能有多个不同进程程序在运行,每个进程程序都在监听网络以发现新的选接。各个进程监听不同的网络端口(port). 端口是一个16位的数字,用来辨识不同的服务。Http请求一般默认都是80端口。

        c)一旦建立连接,客户端向服务器发送一个http请求,服务器接收到请求后,返回响应结果给客户端。

       d)客户端关闭该连接。

 

2.网络爬虫的架构

       浏览器是用户主动操作然后完成HTTP请求,而爬虫需要自动完成http请求,网络爬虫需要一套整体架构完成工作。尽管爬虫技术经过几十年的发展,从整体框架上已相对成熟,但随着互联网的不断发展,也面临着一些有挑战性的新问题。 通用爬虫框架如下图:

   

       通用的爬虫框架流程:

       a)首先从互联网页面中精心选择一部分网页,以这 些网页的链接地址作为种子URL;

       b)将这些种子URL放入待抓取URL队列中;

       c)爬虫从待抓取 URL队列依次读取,并将URL通过DNS解析,把链接地址转换为网站服务器对应的IP地址。

       d)然后将IP地址和网页相对路径名称交给网页下载器,

       e)网页下载器负责页面内容的下载。

       f)对于下载到 本地的网页,一方面将其存储到页面库中,等待建立索引等后续处理;另一方面将下载网页的 URL放入己抓取URL队列中,这个队列记载了爬虫系统己经下载过的网页URL,以避免网页的重复抓取。

       g)对于刚下载的网页,从中抽取出所包含的所有链接信息,并在已抓取URL队列 中检査,如果发现链接还没有被抓取过,则将这个URL放入待抓取URL队列

       h)末尾,在之后的抓取调度中会下载这个URL对应的网页,如此这般,形成循环,直到待抓取URL队列为空。

3.网络爬虫的策略

       ——》深度优先搜索策略(顺藤摸瓜)

       ——》广度优先搜索策略
       ——》反向链接数策略
       ——》Partial PageRank策略,即最佳优先搜索策略
       ——》OPIC策略策略
       ——》大站优先策略

参考文章Url:http://blog.csdn.net/hguisu/article/details/7949844

0 0
原创粉丝点击