网络爬虫是搜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。
一个通用的网络爬虫的框架如下图所示:
网络爬虫的基本工作流程如下:
①首先选取一部分精心挑选的种子URL;
②将这些URL放入待抓取URL队列;
③从待抓取URL队列中取出待抓取URL,解析DNS,并且得到主机的ip,并将URL对应的网页下载下来,存储到已下载网页库中。此外,将这些URL放进已抓取URL队列。
④分析已抓取URL队列中的URL,分析其中的其他URL,并且将URL放入待抓取URL队列,从而进入下一个循环。
从爬虫的角度对互联网进行划分,可将互联网的所有页面分为五个部分:
①已下载未过期网页
②已下载已过期网页:抓取到的网页实际上是互联网内容的一个镜像与备份,互联网是动态变化的,一部分互联网上的内容已经发生了变化,这时,这部分抓取到的网页就已经过期了。
③待下载网页:也就是待抓取URL队列中的那些页面
④可知网页:还没有抓取下来,也没有在待抓取URL队列中,但是可以通过对已抓取页面或者待抓取URL对应页面进行分析获取到的URL,认为是可知网页。
⑤还有一部分网页,爬虫是无法直接抓取下载的。称为不可知网页。
抓取策略
在爬虫系统中,待抓取URL队列是很重要的一部分。待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题。而决定这些URL排列顺序的方法,叫做抓取策略。
①深度优先遍历
A-F-G
E-H-I B C D
②宽度优先遍历策略
将新下载网页中发现的链接直接插入待抓取URL队列的末尾。
A-B-C-D-E-F G H I
③反向链接数策略
反向链接数是指一个网页被其他网页链接指向的数量。反向链接数量表示的是一个网页的内容受到其他人的推荐程度。因此,很多时候搜索引擎的抓取系统会使用这个指标来评价网页的重要程度,从而决定不同网页的抓取先后顺序。
。。。