卢松松博客

百度官方:spider抓取过程中的策略

 人参与 | 时间:2013年08月22日 16:30

之前与大家分享了关于搜索引擎抓取系统中有关抓取系统基本框架、抓取中涉及的网络协议、抓取的基本过程的内容,今天将于大家分享搜索引擎抓取系统第二部分内容—spider抓取过程中的策略。

百度官方:spider抓取过程中的策略 好文分享

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重定向的识别

互联网中一部分网页因为各种各样的原因存在url重定向状态,为了对这部分资源正常抓取,就要求spider对url重定向进行识别判断,同时防止作弊行为。重定向可分为三类:http 30x重定向、meta refresh重定向和js重定向。另外,百度也支持Canonical标签,在效果上可以认为也是一种间接的重定向。

4、抓取优先级调配

由于互联网资源规模的巨大以及迅速的变化,对于搜索引擎来说全部抓取到并合理的更新保持一致性几乎是不可能的事情,因此这就要求抓取系统设计一套合理的抓取优先级调配策略。主要包括:深度优先遍历策略、宽度优先遍历策略、pr优先策略、反链策略、社会化分享指导策略等等。每个策略各有优劣,在实际情况中往往是多种策略结合使用以达到最优的抓取效果。

5、重复url的过滤

spider在抓取过程中需要判断一个页面是否已经抓取过了,如果还没有抓取再进行抓取网页的行为并放在已抓取网址集合中。判断是否已经抓取其中涉及到最核心的是快速查找并对比,同时涉及到url归一化识别,例如一个url中包含大量无效参数而实际是同一个页面,这将视为同一个url来对待。

6、暗网数据的获取

互联网中存在着大量的搜索引擎暂时无法抓取到的数据,被称为暗网数据。一方面,很多网站的大量数据是存在于网络数据库中,spider难以采用抓取网页的方式获得完整内容;另一方面,由于网络环境、网站本身不符合规范、孤岛等等问题,也会造成搜索引擎无法抓取。目前来说,对于暗网数据的获取主要思路仍然是通过开放平台采用数据提交的方式来解决,例如“百度站长平台”“百度开放平台”等等。

7、抓取反作弊

spider在抓取过程中往往会遇到所谓抓取黑洞或者面临大量低质量页面的困扰,这就要求抓取系统中同样需要设计一套完善的抓取反作弊系统。例如分析url特征、分析页面大小及内容、分析站点规模对应抓取规模等等。

以上简单介绍了抓取过程中涉及到的主要策略,每一个策略中都包含很多细节内容,可能对于一个网站的抓取都会产生影响。大家对哪部分有疑问可以直接提出来,我们一起来探讨。

文章地址:http://zhanzhang.baidu.com/wiki/205

相关阅读:

搜索引擎抓取系统概述

搜索引擎索引系统概述

顶: 0踩: 0

来源:,欢迎分享,(QQ/微信:13340454)

必填

选填

选填

◎已有 9 人评论,微信:QQ13340454

1楼囧事  2014-01-23 22:27:20
我现在都弄不清我和谁在一起。。。失败
顶: 0踩: 0 回复
2楼小臭虫  2012-08-05 22:35:58
这句话很赞成,物以类聚,人以群分,说的就是这个理。就像人家说的,看一个人的朋友就知道本人的大概了。
顶: 0踩: 0 回复
3楼如何去黑头  2012-08-01 11:11:23
说的 不错
顶: 0踩: 0 回复
4楼李十一  2012-07-31 09:20:01
近朱者赤近墨者黑
顶: 0踩: 0 回复
5楼山特ups电源  2012-06-11 14:20:00
嗯,我知道了。
顶: 0踩: 0 回复
6楼V9站长网  2012-06-09 19:30:56
物以类聚,人以群分
顶: 0踩: 0 回复
7楼线路板  2012-06-08 16:57:17
和自己在一起
才不会经历离别
顶: 0踩: 0 回复
8楼北京体育在线直播  2012-06-08 11:54:46
第二次来
顶: 0踩: 0 回复
9楼德国阳光蓄电池  2012-06-08 11:42:23
心情不好
顶: 0踩: 0 回复
10楼短信群發  2012-06-08 10:30:19
什么样的人,决定什么样的人生
顶: 0踩: 0 回复
11楼zk546113096  2012-06-08 09:24:09
我现在都弄不清我和谁在一起。。。失败
顶: 0踩: 0 回复
12楼长沙阳光妇科  2012-06-08 00:21:51
写的真好
顶: 0踩: 0 回复
13楼最新网赚项目  2014-05-02 20:30:08
最新网赚项目{abc网赚}和您一起分享过去的网赚项目,共同研发未来的网赚方法!~共同进步!
顶: 0踩: 0 回复
14楼囧事  2014-01-21 07:27:21
都洗洗睡吧
顶: 0踩: 0 回复
15楼重量  2013-12-10 18:27:56
我更想知道蜘蛛爬行所来的不同ip是否代表某些意思。。
顶: 0踩: 0 回复
16楼pingppang  2013-11-22 11:19:55
卢松松大哥的分享都是精华,学习了很多。继续支持
顶: 0踩: 0 回复
17楼pingppang  2013-11-22 11:17:51
内链具体多少合适,这个确实很难给个答案。
我认为内链多少,是根据你网站页面总量,然后估算内链如何分配,能将主要页面收录,以及如何突出主要优化关键词的页面来综合进行估算的。
而且只能估算,到底好不好还是需要布局后观察数据
顶: 0踩: 0 回复
18楼天气预报查询一周  2013-08-26 21:42:11
百度蜘蛛越来越聪明了,很不好骗啊
顶: 0踩: 0 回复
19楼运动服装  2013-08-26 05:43:14
好好学习了!
顶: 0踩: 0 回复
20楼咨道  2013-08-23 15:55:43
站内蜘蛛爬取目前还没有一个比较系统性的优化方法和智能分析工具。特别是全局性的,很多时候是单页或是局部的控制。因此很多人都有一个疑问,网站内链结构到底是出现越多越好还是单线直达更有利,页面到底出现多少个内链是适合的(科学性的)。
顶: 0踩: 0 回复
21楼激光设备  2013-08-23 12:22:10
想要做好百度排名,那么了解百度蜘蛛的爬行是必要的,谢谢卢松松大哥的分享。
顶: 0踩: 0 回复
22楼卢松松  2013-08-22 21:14:36
啥也不说了,以后常来哈。
顶: 0踩: 0 回复
23楼PHPDDT  2013-08-22 19:17:16
学习很多
顶: 0踩: 0 回复