搜索引擎-网络爬虫

网络爬虫

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

1. 网络爬虫本质就是浏览器http请求。

  浏览器和网络爬虫是两种不同的网络客户端,都以相同的方式来获取网页:

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

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

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

  4)客户端关闭该连接。

2. 搜索引擎爬虫架构

  但是浏览器是用户主动操作然后完成HTTP请求,而爬虫需要自动完成http请求,网络爬虫需要一套整体架构完成工作。

  尽管爬虫技术经过几十年的发展,从整体框架上已相对成熟,但随着互联网 的不断发展,也面临着一些有挑战性的新问题。

  通用的爬虫框架流程:

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

  2)将这些种子URL放入待抓取URL队列中。

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

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

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

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

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

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

3. 爬虫抓取策略

  在爬虫系统中,待抓取URL队列是很重要的一部分。待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,因为这涉及到先抓取那个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略。

  主要有:

  1.深度优先搜索策略(顺藤摸瓜)

  2.广度优先搜索策略

  3.反向链接数策略

  4.Partial PageRank策略,即最佳优先搜索策略

  5.OPIC策略

  6.大站优先策略

posted @ 2021-12-17 23:14  小小小怪将军  阅读(462)  评论(0编辑  收藏  举报