【搜索问答剧场 5】“百度蜘蛛”全面解析

2022-08-18 21:12:21
【抓取篇】
 
1 ►什么是Baiduspider?Baiduspider也叫百度蜘蛛,是百度搜索引擎的一个自动程序,它的作用是访问互联网上的网页,建立索引数据库,使用户能在百度搜索引擎中搜索到网站相关内容。
 
2 ►如何才能识别当前抓取是正确的
 
百度蜘蛛?
 
开发者们可以通过以下两个方式判断百度蜘蛛。
 
方式一:查看UA信息
 
如果UA信息不对,可以直接判断为非百度搜索的蜘蛛。目前UA分为移动、PC、和小程序三个应用场景,这三个渠道UA分别如下:
 
移动UA
 
Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko)Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)
 
或者
 
Mozilla/5.0 (iPhone;CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko)Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0;+http://www.baidu.com/search/spider.html) 
 
PC UA
 
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
 
或者
 
Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)
 
小程序UA
 
Mozilla/5.0 (iPhone;CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko)Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0;Smartapp; +http://www.baidu.com/search/spider.html)
 
方式二:双向DNS解析认证
 
第1步:DNS反查IP
 
开发者通过对日志中访问服务器的IP地址运行反向DNS查找,判断某只spider是否来自百度搜索引擎,Baiduspider的hostname以*.baidu.com或*.baidu.jp 的格式命名,其他格式即为冒充。
 
不同类型的平台验证方法也不同,如Linux / Windows / OS三种平台下的验证方法分别如下:
 
(1)在Linux平台下,可以使用host ip命令反解ip来判断是否来自Baiduspider的抓取。
 
(2)在Windows平台下,可以使用nslookup ip命令反解ip来 判断是否来自Baiduspider的抓取 。
 
(3)在Mac OS平台下,可以使用dig 命令反解ip来 判断是否来自Baiduspider的抓取。
 
第2步:对域名运行正向DNS查找
 
对第1步中通过命令检索到的域名运行正向DNS查找,验证该域名与您日志中访问服务器的原始IP地址是否一致,IP地址一致可确认spider来自百度搜索引擎,IP地址不一致即为冒充。
 
3►百度蜘蛛会一直抓我的网站吗?
 
一般会的,若网站持续生产新资源、更新内容等,蜘蛛会持续抓取的。需要提醒的是,若网站需要百度蜘蛛抓取一定不要做任何封禁哦。(封禁相关参考下文内容)
 
此外,您也可以检查网站访问日志,及时判断正确的百度蜘蛛,以防止有人恶意冒充百度蜘蛛来频繁抓取您的网站。
 
4►百度蜘蛛频繁光顾网站,导致网站服务器压力大,怎么办?
 
若发现百度蜘蛛频繁抓取,可能是因为以下2个原因。
 
(1)网站存在新生产资源、更新内容待抓取更新;
 
(2) 可能存在恶意冒充百度蜘蛛,可以通过上文Q2“如何识别正常百度蜘蛛”的方法排查问题;
 
若百度蜘蛛抓取频次过高,造成网站服务异常,可以通过百度搜索资源平台-【抓取频次】工具调整频次。
 
【封禁篇】
 
1 ►网站部分资源不希望被百度蜘蛛访问
 
该怎么做?百度蜘蛛遵守互联网robots协议。站长可以更新robots.txt文件,文件中明确不希望百度蜘蛛访问资源或目录等,并及时通过搜索资源平台-【Robots】工具,提交robots文件。
 
需要注意,robots文件更新和提交后,搜索引擎需要逐渐完成更新,所以百度蜘蛛不是立即停止抓取网页,请耐心等待。
 
2 ►网站封禁百度蜘蛛,可能会带来哪些影响?
 
网站资源优质,也没有其他违规问题,但是存在以下情况,可以先自查是否存在封禁百度蜘蛛的问题,及时解除封禁(解除封禁参考QA7),等待恢复。
 
(1)没有查询到百度蜘蛛任何抓取记录。
 
(2)在百度搜索中没有得到收录和展现。
 
(3)网站/目录存在流量异常下降的情况。
 
(4)在搜索结果中的摘要展现为“存在robots封禁”字样。
 
3 ►如何解除封禁百度蜘蛛?
 
常见的封禁行为包括robots封禁、封禁百度UA、封禁百度IP这三种,可以逐一排查解决。
 
自查robots封禁
 
查看robots.txt文件,是否存在封禁记录。(一般robots.txt文件放置在网站根目录下。)
 
自查是否封禁百度UA
 
robots文件无异常的情况下,进一步排查是否存在封禁百度UA情况。
 
第一种方法:执行 curl --head --user-agent 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)' --request GET 'xxxxxxx'
 
注意:正常返回码是200,其他情况为异常。
 
第二种方法:变更浏览器UA验证。
 
自查是否存在IP封禁
 
以上验证均无异常,最后进一步排查是否存在IP级别的封禁。
 
常见的IP封禁,源自网站的防火墙系统配置,需要查看防火墙配置系统后台,检查是否存在百度蜘蛛的IP级别封禁措施。

 
收藏 举报

延伸 · 阅读