Python网络爬虫技术与实战
上QQ阅读APP看书,第一时间看更新

2.5.3 Partial PageRank策略

PageRank算法的思想:针对已下载的网页和待抓取URL队列的URL所形成的网页集合,计算每个页面的PageRank值(PageRank是Google对网页重要性的评估,PageRank值的高低是衡量网页在Google搜索引擎中排名的重要参数之一),计算完之后,将待抓取队列中的URL按照网页级别的值的大小排列,并按照顺序依次抓取网址页面。

如果每次新抓取一个网页,便重新计算其PageRank值,那么很明显效率太低。折中的办法是网页攒够K个计算一次。图2-7即为网页级别的策略示意图。设定每下载3个网页便计算一次新的PageRank值,此时已经有{1,2,3}3个网页下载到本地。这三个网页包含的链接指向{4,5,6},即待抓取URL队列,那么如何决定下载顺序?

将这6个网页形成新的集合,对这个集合计算其PageRank值,这样4,5,6就获得自己对应的网页级别值,由大到小排序,即可得出下载顺序。假设顺序为5,4,6,在下载页面5后抽取出链接,指向页面8,此时赋予8临时的PageRank值,如果这个值大于4和6的PageRank值,则接下来优先下载页面8,如此不断循环,即形成了非完全的网页级别的策略的计算思路。

图2-7 抓取策略过程图