在爬虫系统中,待抓取URL队列是很关键的部分,需要爬虫抓取的网页URL在其中顺序排列,形成一个队列结构,调度程序每次从队列头取出某个URL,发送经网页下载器下载页面内容,每个新下载的页面包含的URL会追加到待抓取URL队列的末尾,如此形成循环,整个爬虫系统可以说是由这个队列驱动运转的。
待抓取URL队列中页面URL顺序是如何确定的?上面所述效新下载页面中包含的链接追加到队列尾部,这固然是一种确定队列URL顺序的方法,但并非唯一的手段,事实上,还可以采纳很多其他技术,将队列中待抓取的URL进行排序。而爬虫的不同抓取策略,就是利用不同的方法来确定待抓取URL队列中URL优先顺序的。
爬虫的抓取策略有很多种,但不论方法如何,其基本目标一致:优先选择重要网页进行抓取。在爬虫系统中,所谓网页的重要性,其评判标准可以选择不同方法,但是大部分都是按照网页的流行性来定义的,在本书的“链接分析”一章介绍的PageRank就是评价网页重要性的常用标准。
抓取策略方法众多,本节只选择已经被证明效果较好或者是比较有代表性的解决方案,包括以下4种:宽度优先遍历策略、非完全PageRank策略、OPIC策略及大站优先策略。