【抓取篇】
1、什么是Baiduspider?
A:Baiduspider也叫百度蜘蛛,是百度搜索引擎的一个自动程序,它的作用是访问互联网上的网页,建立索引数据库,使用户能在百度搜索引擎中搜索到网站相关内容。
2、Q:如何才能识别当前抓取是正确的百度蜘蛛?
A:有两个方式可以判断百度蜘蛛。
方式一:查看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解析认证
第一步:DNS反查IP,开发者通过对日志中访问服务器的IP地址运行反向DNS查找,判断某只spider是否来自百度搜索引擎,Baiduspider的hostname以*.baidu.com或*.baidu.jp 的格式命名,非*.baidu.com或*.baidu.jp即为冒充。
根据平台不同验证方法不同,如linux/windows/os三种平台下的验证方法分别如下:
①在linux平台下,可以使用host ip命令反解ip来判断是否来自Baiduspider的抓取。Baiduspider的hostname以 *.baidu.com 或 *.baidu.jp 的格式命名,非 *.baidu.com 或 *.baidu.jp 即为冒充。
②在windows平台或者IBM OS/2平台下,可以使用nslookup ip命令反解ip来 判断是否来自Baiduspider的抓取 。
③在mac os平台下,可以使用dig 命令反解ip来 判断是否来自Baiduspider的抓取。
第二步:对域名运行正向DNS查找。对第1步中通过命令检索到的域名运行正向DNS查找,验证该域名与您日志中访问服务器的原始IP地址是否一致,IP地址一致可确认spider来自百度搜索引擎,IP地址不一致即为冒充。
3、Q:百度蜘蛛会一直抓我的网站吗?
A:一般会的,若网站持续生产新资源、更新内容等,蜘蛛会持续抓取的。需要提醒的是,若网站需要百度蜘蛛抓取一定不要做任何封禁哦。(封禁相关参考下文内容)
此外,您也可以检查网站访问日志,及时判断正确的百度蜘蛛,以防止有人恶意冒充百度蜘蛛来频繁抓取您的网站。
4、Q:百度蜘蛛频繁光顾网站,导致网站服务器压力大,怎么办?
A:若发现百度蜘蛛频繁抓取,可能是因为
① 网站存在新生产资源、更新内容待抓取更新;
② 可能存在恶意冒充百度蜘蛛,可以通过上文Q2“如何识别正常百度蜘蛛”的方法排查问题;
若百度蜘蛛抓取频次过高,造成网站服务异常,可以通过搜索资源平台–【抓取频次】工具调整频次。
【封禁篇】
1、Q:网站的部分资源不希望被百度蜘蛛访问,该怎么做?
A:百度蜘蛛遵守互联网robots协议。站长可以更新robots.txt文件,文件中明确不希望百度蜘蛛访问资源或目录等,并及时通过搜索资源平台-【Robots】工具,提交robots文件。
需要注意,robots文件更新和提交后,搜索引擎需要逐渐完成更新,所以百度蜘蛛不是立即停止抓取网页,请耐心等待。
2、Q:网站封禁百度蜘蛛,可能会带来哪些影响?
A:网站资源优质,也没有其他违规问题,但是存在以下情况
①没有查询到百度蜘蛛任何抓取记录,
②在百度搜索中没有得到收录和展现,
③网站/目录存在流量异常下降的情况,
④在搜索结果中的摘要展现为“存在robots封禁”字样。
若发现以上情况,可以先自查是否存在封禁百度蜘蛛的问题,及时解除封禁(解除封禁参考QA7),等待恢复。
3、Q:如何解除封禁百度蜘蛛?
A:常见的封禁行为包括robots封禁、封禁百度UA、封禁百度IP这三种,可以逐一排查解决:
(1) 查看robots.txt文件,是否存在封禁记录。(一般robots.txt文件放置在网站根目录下。)
(2)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验证;
(3)以上验证均无异常,最后进一步排查是否存在IP级别的封禁;
常见的IP封禁,源自网站的防火墙系统配置,需要查看防火墙配置系统后台,检查是否存在百度蜘蛛的IP级别封禁措施。