background image

搜索引擎抓取系统原理分析

spider 在抓取过程中面对着复杂的网络环境,为了使系统可以抓取到尽可能多的有价

值资源并保持系统及实际环境中页面的一致性同时不给网站体验造成压力,会设计多种复
杂的抓取策略。以下简单介绍一下抓取过程中涉及到的主要策略类型:

1、抓取友好性:抓取压力调配降低对网站的访问压力
2、常用抓取返回码示意
3、多种 url 重定向的识别
4、抓取优先级调配
5、重复 url 的过滤
6、暗网数据的获取
7、抓取反作弊
8、提高抓取效率,高效利用带宽
1、抓取友好性
互联网资源庞大的数量级,这就要求抓取系统尽可能的高效利用带宽,在有限的硬件

和带宽资源下尽可能多的抓取到有价值资源。这就造成了另一个问题,耗

 费被抓 网站的带

宽造成访问压力,如果程度过大将直接影响被抓网站的正常用户访问行为。因此,在抓取过
程中就要进行一定的抓取压力控制,达到既不影响网站的正常用

 户访问又能尽量多的抓取

到有价值资源的目的。

通常情况下,最基本的是基于

ip 的压力控制。这是因为如果基于域名,可能存在一个

域名对多个

ip(很多大网站)或多个域名对应同一个 ip(小网站共 享 ip)的问题。实际中,

往往根据

ip 及域名的多种条件进行压力调配控制。同时,站长平台也推出了压力反馈工具,

站长可以人工调配对自己网站的抓取压力,这

 时百度 spider 将优先按照站长的要求进行抓

取压力控制。

对同一个站点的抓取速度控制一般分为两类:其一,一段时间内的抓取频率;其二,

一段时间内的抓取流量。同一站点不同的时间抓取速度也会不同,例如夜

 深人静 月黑风高

时候抓取的可能就会快一些,也视具体站点类型而定,主要思想是错开正常用户访问高峰
不断的调整。对于不同站点,也需要不同的抓取速度。

2、常用抓取返回码示意
简单介绍几种百度支持的返回码:
1)  最常见的 404 代表“NOT FOUND”,认为网页已经失效,通常将在库中删除,同时

短期内如果

spider 再次发现这条 url 也不会抓取;

2)  503 代表“Service Unavailable”,认为网页临时不可访问,通常网站临时关闭,带

宽有

 限等会 产生这种情况。对于网页返回 503 状态码,百度 spider 不会把这条 url 直接删除,

同时短期内将会反复访问几次,如果网页已恢复,则正常抓取;如果继

 续返回 503,那么

这条

url 仍会被认为是失效链接,从库中删除。

3)  403 代表“Forbidden”,认为网页目前禁止访问。如果是新 url,spider 暂时不抓取,

短期内同样会反

 复访问 几次;如果是已收录 url,不会直接删除,短期内同样反复访问几

次。如果网页正常访问,则正常抓取;如果仍然禁止访问,那么这条

url 也会被认为是失效

 接,从库中删除。

4)301  代表是“Moved Permanently”,认为网页重定向至新 url。当遇到站点迁移、域名

更换、站点改版的情况时,我们推荐使用

301 返回码,同时使用站长平台网站改版工具,以

减少改版对网站流量造成的损失。

 3、多种 url 重定向的识别