铛铛铛铛!
好久不见,平小雕带着最新一期搜索问答剧场又双叒回来啦!
第五集, 名为【搜索问答剧场】, 它会给大家带来关于“百度蜘蛛”的全方位解析, 助力大家清晰地知晓“百度蜘蛛”于各类场景之中所发挥出的作用, 以此为网站整体的运营奠定基础。
【抓取篇】
1、什么是Baiduspider?
百度蜘蛛, 还被称作Baiduspider, 它属于百度搜索引擎的一个自动程序, 这种程序的作用在于对互联网里的网页进行访问, 进而建立索引数据库, 以此让用户能够于百度搜索引擎之中搜索发现网站的相关内容。
2、Q:如何才能识别当前抓取是正确的百度蜘蛛?
A:有两个方式可以判断百度蜘蛛。
方式一:查看UA信息
倘若UA信息有误, 那就能够径直判定为并非百度搜索的蜘蛛。当下UA划分成移动、PC以及小程序这三个应用场景, 此三个渠道的UA分别是这样的:
移动UA:
在Linux系统环境下, 存在一个用户, 其使用的是Android 4.2.2版本, 并且语言设置为中文, 这里采用了AppleWebKit/534.46内核, 此内核类似KHTML基于ChromeVelte, 而后使用的Version/5.1版本, 同时配备了Mobile Safari/10600.6.3浏览器, 该浏览器具备兼容性, 能够与Baiduspider/2.0搜索引擎程序兼容, 加号表示还有一种……特点(这段加号后的内容不太完整清晰, 按原样翻译并整理了, 请确认是否符合需求)。http://www.baidu.com/search/spider.html)
处于iPhone环境, 其CPU为对应iPhone OS 9_1, 像Mac OS X那般, 搭载基于AppleWebKit/601.1.46 的浏览器, 该浏览器基于KHTML类似Gecko, 版本为9.0, 属于移动设备的13B143版本, 且具备Safari/601.1特性, 与Baiduspider - render/2.0兼容, 加号。http://www.baidu.com/search/spider.html)
PC UA:
从你提供的内容来看, 它似乎不完整呀, 可以完整补充信息再次提交, 以便我能准确按照要求改写。http://www.baidu.com/search/spider.html)
将其拆分为: 兼容性的, 百度蜘蛛渲染版本为2.0的, 标识有加号符号的, 以Mozilla/5.0开头的。http://www.baidu.com/search/spider.html)
小程序UA:
该内容似乎是一串代码, 不太明确具体改写需求, 若按原样拆分: iPhone, CPU是iPhone OS 9_1, 类似Mac OS X, AppleWebKit为601.1.46, 基于KHTML像Gecko, Version是9.0, Mobile是13B143, Safari是601.1, 兼容Baiduspider - render/2.0, Smartapp。但这样改写意义不大, 你可以重新明确下要求。http://www.baidu.com/search/spider.html)
方式二:双向DNS解析认证
首先, 进行DNS反查IP, 也就是开发者先获取到日志里访问服务器的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这个情况其实就是冒充啦。
可以使用nslookup ip命令反解ip, 在windows平台下, 判断是否来自Baiduspider进行的抓取。或者呢, 在IBM OS/2平台下, 也能这么做。
③处于mac os平台之时, 能够借助dig命令对ip予以反解, 以此来判断是不是源于Baiduspider的抓取。
这是第二步: 对域名运行正向DNS查找, 针对第1步中凭借命令检索得以的域名运行正向DNS查找, 以此验证该域名跟您日志里访问服务器的原始IP地址是不是一致, 若IP地址一致就能确认spider源自百度搜索引擎, 倘使IP地址不一致那便是冒充。
详情可参考文档:《轻松两步,教你快速识别百度蜘蛛》
3、Q:百度蜘蛛会一直抓我的网站吗?
A: 通常情况下是这样的, 要是网站不断地制造新的资源, 并且持续更新内容等, 那么蜘蛛就会持续进行抓取。需要特别提示的是, 倘若网站想要让百度蜘蛛来抓取, 那就一定不要实施任何封禁的行为哦。(关于封禁的相关内容可参考下文)
除此之外, 您还能够去检查网站访问日志, 进而及时去判断出正确的百度蜘蛛, 以此来防止有其他人恶意冒充百度蜘蛛从而频繁抓取您网站啊。
4、问: 那百度的蜘蛛老是频繁地到网站来光顾, 致使网站的服务器承受更大的压力, 该咋办呢?
A:若发现百度蜘蛛频繁抓取,可能是因为

① 网站存在新生产资源、更新内容待抓取更新;
② 或许会有恶意冒充百度蜘蛛的情况, 能够借助上文Q2“怎样识别正常百度蜘蛛”的办法去排查问题。
倘若百度蜘蛛进行抓取的频次过度高, 致使网站服务出现异常了, 那么能够借助搜索资源平台当中的【抓取频次】工具去对频次作出调整。
【封禁篇】1、问: 网站之中的部分资源不欲被百度蜘蛛予以访问, 那该采取怎样的做法呢?
A: 百度蜘蛛会依照互联网robots协议而为, 站长能够去更新robots.txt文件, 这文件里面需明晰表明不期望百度蜘蛛去访问的资源或者目录等等相关内容, 并且要及时借助搜索资源平台 - 【Robots】工具, 拿去提交robots文件。
留意一下, robots文件进行更新以及提交之后, 搜索引擎势必要逐步达成更新, 因而百度蜘蛛并非马上就停止对网页的抓取, 还请耐心等候。
2、Q:网站封禁百度蜘蛛,可能会带来哪些影响?
A:网站资源优质,也没有其他违规问题,但是存在以下情况
①没有查询到百度蜘蛛任何抓取记录,
②在百度搜索中没有得到收录和展现,
③网站/目录存在流量异常下降的情况,
④在搜索结果中的摘要展现为“存在robots封禁”字样。
要是察觉到上述状况, 能够先自行检查是不是存有封禁百度蜘蛛的情形, 赶快解除封禁(解除封禁参照QA7), 耐心等候恢复。
3、Q:如何解除封禁百度蜘蛛?
常出现的封禁行径涵盖了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级别封禁的相关措施。
详情可参考《开发者如何解除封禁百度蜘蛛》
——什么是【搜索问答剧场】?
【搜索问答剧场】是资源平台依据, 和资源平台工具相关的内容, 对站长反馈出的高频或者常见问题, 进行的整体梳理与总结, 它会定期针对开发者在运营过程当中, 所产生的疑惑问题展开梳理解答, 其致力于为开发者给予更便捷的运营知识库。
往期回顾:
【第一集】“站点关联主体”常见问题解析
【第二集】“站点Logo”常见问题解析
【第三集】“流量异常”常见问题解析
【第四集】“网站改版”常见问题解析