主页 > SEO知识 > SEO基础 >

爬虫蜘蛛各种抓取策略

2019-02-21 09:18 阅读:68 来源:智宇SEO自媒体

  爬虫的工作原理包括抓取,策略和存储。抓取是爬虫的基本劳动过程,策略是爬虫的智慧的中枢,存储是爬虫的劳动过程。

  爬虫抓取页面顺序问题:

  1. 深度优先策略:类似中华文化中家族继承的策略。典型的如封建帝位的继承。通常长子继承,如果长子过世,长孙优先于次子的优先级。如果长子过世,且长子无子,那么次子继承。这种继承的优先级也叫深度优先策略。特点选择某个分支,继而深入到不能深入的情况下才考虑其他分支的策略即为深度优先策略。

爬虫蜘蛛各种抓取策略

  2. 宽度优先策略:也叫广度优先,层次优先。它是一种层次距离不断增大的遍历方式。类似于长幼有序的规则。在晚辈给长辈献茶时,总是先献长辈,然后次之。宽度优先策略有利于多爬虫合作抓取。进行宽度优先遍历时,必须有一个队列数据结构支持。

爬虫蜘蛛各种抓取策略

  抓取顺序是123456 。如果将网页0理解成门户页面,那么距离门户首页越近的网页越重要。吧首页理解成一个窗口,那么打开这个窗口,距离越近的网页被浏览的机会越大。因此也就越重要。
 

  不重复抓取策略:

  需要一个栈结构记住爬虫走过的地方,从而能从失败中回溯,继续寻找出路,而通过动态规划寻找问题的最优解等,也需要一个记住历史的功能才能保证不重复。

  爬虫记录历史的方式是哈希表数据结构,每一条是否被抓取的信息都存放在哈希表的一个槽位上。如果某网页在过去的时刻已经被抓取,则对应的槽位是1,反之是0.

爬虫蜘蛛各种抓取策略

  哈希表是简单的顺序表,即数组。从实际运用的角度来看,这个数组足够大,而且能够全部放入内存中,保证每个URL都能通过哈希表确定是否曾经抓取过。
 

  网页优先抓取策略:也叫页面选择问题。通常爬虫是尽可能的首先抓取重要的网页,这样保证有限的资源尽可能照顾到重要性高的网页。

  什么是重要性的网页?重要性度量由链接欢迎度,链接重要度,平均链接深度这3个方便决定。

  定义链接欢迎度,它主要由反向链接的数量和质量决定。首先考察数目,直观的讲,一个网页有越多的链接指向它。那么其他网页对它的认可度越高。同时这个网页被网名访问的机会越大,推出它的重要性越高。其次是考察质量,如果越多重要性高的网页指向,那么它的重要性就越高。如果不考虑质量,就会出现局部最优,而不是全局最优的问题。最典型的是作弊网页,人为的在一些网页中设置了大量反向链接指向其自身的网页,以提高网页的重要性,如果不考虑链接质量,就会被这些作弊者所利用。

  定义平均链接深度。平均链接深度是这网页一个重要性的指标。因为距离种子站点越近,被访问的机会就越多。因此重要性越高。可以认为种子站点是那些重要性最高的网页,离种子站点越远,重要性越低。
 

  网页重访策略:爬虫重访爬过的页面可以保证系统能够和万维网的变化与时俱进。网页的变化可以归结为泊松过程模型。

  根据泊松模型理论基础。页面重访策略可以归为两类:

  A. 统一重访策略:爬虫可以同样的频率重访已经抓取的全部网页,以获得统一更新的机会。所有的网页不加区别按照同样的频率被爬虫重抓取。

  B. 个体重访策略:不同的页面的改变频率不同,爬虫根据其更新频率来决定重访该个体页面的频率,对每个页面都量身定做一个爬虫重访频率。并且网页的变化频率与重访频率的比率对任何网页来说都是相等的。更新频率高的网页,重访频率高,更新频率低的网页,重访频率就低。

  结论:网页的更新过程符合泊松过程,网页更新时间间隔符合指数分布,对于不同类型的网页采用不同的更新策略。