林语亲授:百度蜘蛛抓取3大策略,网站收录量速提法则——懂这逻辑,你的站也能被追着爬!

聊起SEO,有个东西就像汽车的发动机一样,你不一定天天修它,但如果它坏了,你根本跑不起来——这就是搜索引擎的抓取系统,也就是我们常说的Spider。

先跟朋友们认识一下,我是会懂网络的林语。平时跟人聊SEO,发现大家经常纠结“为什么不收录”“为什么不抓取”。其实很多问题,只要搞懂了Spider是怎么工作的,答案就自己冒出来了。

今天我们就来好好聊聊这个话题。

你想想看,网上每时每刻都在产生海量信息,搜索引擎要想把这事做好,第一步就是得先把这些信息抓回来、存下来、持续更新。这个负责“跑腿”的环节,通常就被叫做Spider——因为它像蜘蛛一样在网络之间爬来爬去。像我们常用的百度、谷歌、搜狗,它们的蜘蛛分别叫Baiduspider、Googlebot、Sogou Web Spider。

那Spider到底是怎么运作的?我们接着往下看。

一、Spider抓取系统的基本框架

林语亲授:百度蜘蛛抓取3大策略,网站收录量速提法则——懂这逻辑,你的站也能被追着爬!插图

如果把Web理解为一个有向图,Spider的工作过程就是对这张图的遍历——从一些重要的种子URL开始,通过页面上的超链接关系,不断发现新URL并抓取。

对于百度这样的大型Spider系统,由于每时每刻都存在网页被修改、删除或出现新的超链接,系统还必须维护一个庞大的URL库和页面库,随时对已抓取页面进行更新。

根据相关研究,现代商业搜索引擎的爬虫系统通常是一个高度协作的分布式架构。Baiduspider的抓取系统基本框架主要包括以下八大核心模块:

  1. 链接存储系统:存放待抓取的URL队列。

  2. 链接选取系统:决定接下来该抓取哪一个URL,这是调度的核心。

  3. DNS解析服务系统:将域名转换成IP地址。由于DNS解析耗时较长,大型爬虫通常设有复杂的缓存策略。清华大学相关研究指出,DNS解析的延迟在大规模分布式爬虫系统中往往成为瓶颈环节之一。

  4. 抓取调度系统:负责具体的网络请求下发,严格遵循Robots协议和压力控制。

  5. 网页分析系统:对抓取回来的原始数据进行初步分析。

  6. 链接提取系统:从已抓取的页面中解析出新的URL。

  7. 链接分析系统:判断新提取的URL是否已抓取、是否重复、是否符合抓取策略。

  8. 网页存储系统:将原始页面及元数据存储起来,供后续索引系统使用。

Baiduspider正是通过以上系统的通力合作,完成对互联网页面的抓取工作。

二、Baiduspider的核心抓取策略

林语亲授:百度蜘蛛抓取3大策略,网站收录量速提法则——懂这逻辑,你的站也能被追着爬!插图1

框架看起来清晰,但面对超级复杂的网络环境,Baiduspider设计了多种复杂的抓取策略。核心目标无非是:抓得全、抓得快、不抓崩、不重复。

1. 抓取友好性

互联网资源数量庞大,为了高效利用带宽,搜索引擎会尽可能抓取。但这会耗费被抓网站的带宽,造成访问压力。因此,搜索引擎必须进行压力控制,达到既不影响网站正常用户访问,又能尽量多抓取的目的。

这其中涉及到IP级的压力控制。因为如果基于域名,可能存在多个域名对应同一个IP(小网站共享IP)的问题。通过对同一个站点的抓取频率和流量双重控制,并错开高峰时段,实现“夜深人静月黑风高”加速抓取。同时,百度站长平台也推出了压力反馈工具,站长可以人工调配抓取压力,百度Spider会优先按照站长的要求执行。

2. 常用抓取返回码示意

Spider通过HTTP状态码判断页面状态,这直接决定了URL的生死:

  • 404(Not Found):认为网页失效,从库中删除,短期内不再抓取。

  • 503(Service Unavailable):服务器临时繁忙或关闭。Spider不会立即删除,而是会反复访问几次试探恢复情况。

  • 403(Forbidden):认为网页禁止访问。Spider会短期内反复尝试,如果仍然禁止,则从库中删除。

  • 301(Moved Permanently):永久重定向。遇到站点迁移或域名更换,强烈建议使用301配合百度站长平台改版工具,以减少流量损失。

3. 多种URL重定向的识别

互联网中一部分网页存在URL重定向状态,Spider需要对这些资源进行识别判断,同时防止作弊行为。重定向主要分为三类:HTTP 30x重定向、Meta Refresh重定向和JS重定向。此外,百度也支持Canonical标签,在效果上可以认为是一种间接的重定向。

4. 抓取优先级调配

由于互联网资源规模巨大且变化迅速,搜索引擎几乎不可能全部抓取并合理更新。因此,抓取系统需要设计一套合理的优先级调配策略。主要包括:深度优先遍历、宽度优先遍历、PageRank优先策略、反链策略、社会化分享指导策略等。每种策略各有优劣,实际应用中往往是多种策略结合使用。

中科院计算技术研究所的相关论文指出,在有限带宽和存储资源的约束下,如何通过链接分析和内容评价的双重约束来优化抓取优先级,是提高爬虫“性价比”的关键。

5. 重复URL的过滤

Spider在抓取过程中必须判断一个页面是否已经抓取过。这涉及到URL归一化处理。很多网站的动态URL带有大量无效参数(如SessionID),虽然指向同一个页面,但在字符串形态上是不同的。必须将其识别为同一个URL,否则会陷入无限的抓取黑洞。

6. 暗网数据的获取

互联网中还存在大量的“暗网数据”,即搜索引擎无法通过超链接抓取到的数据,比如藏在数据库表单后面的内容。目前,对于暗网数据的获取主要思路仍然是通过开放平台采用数据主动提交的方式来解决,例如“百度站长平台”“百度开放平台”等。

长春理工大学的相关研究表明,随着Web 2.0技术的发展,Ajax技术的广泛应用使得大量动态数据无法被传统爬虫抓取,因为基于纯URL的爬虫无法执行Javascript代码,这一领域仍然是搜索引擎技术需要持续突破的方向。

7. 抓取反作弊

Spider在抓取过程中往往会遇到所谓的“抓取黑洞”或面临大量低质量页面。这就要求抓取系统中同样需要设计一套完善的反作弊机制,例如分析URL特征、分析页面大小及内容、分析站点规模与抓取规模的匹配度等。

三、抓取过程中涉及的网络协议

林语亲授:百度蜘蛛抓取3大策略,网站收录量速提法则——懂这逻辑,你的站也能被追着爬!插图2

搜索引擎与站长之间存在相互依赖的关系:搜索引擎需要站长提供资源,否则无法满足用户检索需求;而站长需要通过搜索引擎将内容推广出去。为了达到双赢,双方必须遵守一定的规范。

以下简单列举:

HTTP协议:超文本传输协议,是互联网上应用最为广泛的一种网络协议,定义了客户端和服务器端请求和应答的标准。

HTTPS协议:加密版HTTP,一种更安全的数据传输协议。

UA属性:User-Agent,是HTTP协议中的一个属性,代表了终端的身份,向服务器端表明“我是谁、来干嘛”。服务器端可以根据不同的UA身份做出不同的反馈。

Robots协议:robots.txt是搜索引擎访问一个网站时要访问的第一个文件,用来确定哪些内容允许抓取、哪些禁止抓取。百度严格按照Robots协议执行,同时也支持网页内容中添加的Robots Meta标签,如index、follow、nofollow等指令。

四、Baiduspider抓取频次的原则与调整方法

林语亲授:百度蜘蛛抓取3大策略,网站收录量速提法则——懂这逻辑,你的站也能被追着爬!插图3

Baiduspider根据网站设置的协议对站点页面进行抓取,但不会对所有站点一视同仁。它会综合考虑站点实际情况确定一个抓取配额,每天定量抓取站点内容,这就是我们常说的抓取频次。

主要决定指标有四个:

  1. 网站更新频率:更新快多来,更新慢少来,直接影响Baiduspider的来访频率。

  2. 网站更新质量:如果每天更新出的大量内容都被Baiduspider判定为低质页面,更新的频率再高也没有意义。

  3. 连通度:网站应该安全稳定、对Baiduspider保持畅通,经常给“闭门羹”可不是好事。

  4. 站点评价:百度搜索引擎对每个站点都会有一个内部评价,且这个评价会根据站点情况不断变化。这是百度内部非常机密的数据,从不独立使用,而是配合其他因子和阈值共同影响抓取和排序。

如果站长希望调整抓取频次,可以通过百度站长平台的“抓取频次工具”提出希望增加或减少来访的请求,工具会根据站长的意愿和实际情况进行调整。

五、造成Baiduspider抓取异常的常见原因

林语亲授:百度蜘蛛抓取3大策略,网站收录量速提法则——懂这逻辑,你的站也能被追着爬!插图4

有一些网页,内容优质,用户也可以正常访问,但Baiduspider却无法正常抓取。百度把这种情况叫做“抓取异常”。对于大量内容无法正常抓取的网站,百度会认为网站存在用户体验上的缺陷,并降低对网站的评价,在抓取、索引、排序上都会受到负面影响。

常见抓取异常原因包括:

  1. 服务器连接异常:站点不稳定或web服务器运行不正常。

  2. 网络运营商异常:网络运营商分电信和联通,Baiduspider可能通过某一运营商无法访问你的网站。

  3. DNS异常:Baiduspider无法解析你网站的IP,可能是IP地址错误或域名服务商封禁了Baiduspider。

  4. IP封禁:封禁了Baiduspider的IP段。如果你不希望被访问才需要此设置,如果是误添加,请及时修改。

  5. UA封禁:针对指定UA返回异常页面或跳转。

  6. 死链:包括协议死链(如404、403、503)和内容死链(状态码正常但内容已不存在)。建议使用协议死链并通过百度站长平台提交。

  7. 异常跳转:无效页面跳转到首页或目录、跳转到出错页面等。

六、新链接的重要程度判断

林语亲授:百度蜘蛛抓取3大策略,网站收录量速提法则——懂这逻辑,你的站也能被追着爬!插图5

在建库环节之前,Baiduspider会对页面进行初步内容分析和链接分析。理论上,Baiduspider会将新页面上所有能“看到”的链接都抓取回来。那么面对众多新链接,Baiduspider根据什么判断哪个更重要呢?

第一,对用户的价值:

  • 内容独特,搜索引擎喜欢unique的内容

  • 主体突出,不要出现主体内容不突出而被误判为空短页面

  • 内容丰富

  • 广告适当

第二,链接重要程度:

  • 目录层级——浅层优先

  • 链接在站内的受欢迎程度

七、百度优先建重要库的原则

林语亲授:百度蜘蛛抓取3大策略,网站收录量速提法则——懂这逻辑,你的站也能被追着爬!插图6

Baiduspider抓了多少页面并不是最重要的,重要的是有多少页面被建索引库,也就是我们常说的“建库”。搜索引擎的索引库是分层级的:优质的网页进核心库,普通的进普通库,差一些的进低级库当补充材料。目前60%的检索需求只调用重要索引库即可满足——这也解释了为什么有些网站收录量超高但流量却一直不理想。

哪些网页可以进入优质索引库?

  1. 有时效性且有价值的页面:时效性和价值缺一不可。有些站点为了追时效大量采集,产生一堆无价值页面,这不是百度愿意看到的。

  2. 内容优质的专题页面:不一定完全原创,但能够很好地把各方内容整合在一起,或增加观点和评论,给用户更丰富全面的内容。

  3. 高价值原创内容页面:百度把原创定义为“花费一定成本、大量经验积累提取后形成的文章”。伪原创不是原创。

  4. 重要个人页面:举个例子,科比在新浪微博开账号了,即使他不经常更新,对百度来说仍然是一个极重要的页面。

哪些网页无法建入索引库?

  1. 重复内容的网页:互联网上已有的内容,百度没必要再收录。

  2. 主体内容空短的网页:有些内容使用了Baiduspider无法解析的技术(如JS、AJAX),或者加载速度过慢,即使抓取回来也会在这个环节被抛弃。

  3. 部分作弊网页

林语小结

搞懂了Spider的运作机制,你会发现SEO其实并不是玄学。

当我们理解百度为了友好性而做的压力控制,就该把服务器搞好,用好站长平台的“压力反馈”功能;当我们理解百度为了反作弊而做的重复过滤,就该把精力放在生产真正有价值的原创内容上;当我们理解暗网数据难以抓取,就该主动利用结构化数据和API推送。

搜索引擎与站长之间是互利共生的关系。站长需要流量,而搜索引擎需要优质的数据源。只有双方在Robots协议、抓取规范、内容质量上达成共识,才能实现真正的双赢。

我是林语,关注会懂网络,下一期我们聊聊更深度的索引合并算法。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容