我们经常在网站日志中看到各种爬虫抓取记录最常见的就是百度蜘蛛等搜索引擎移动搜索最常见的就是百度蜘蛛等搜索引擎以百度为例通常我们判断是否是百度蜘蛛抓取看用户代理字符串 也就是User-Agent但是User-Agent是可以模拟的所以很多时候也会有虚假的模拟伪装成百度蜘蛛来抓取这时候我们就需要学会分辨真伪以及。
首先是百度 User-Agent代理字符串百度官方公布的有如下User-Agent:
移动UA:Mozilla / 5.0(Linux; u; Android 4.2.2; zh-cn;)AppleWebKit / 534.46(KHTMLlikeGecko)版本/5.1 移动Safari / 10600.6.3(兼容; Baiduspider / 2.0; +)
PC UA:Mozilla / 5.0(兼容; Baiduspider / 2.0; +)
添加渲染UA:
移动UA:Mozilla / 5.0(iPhone; CPU iPhone OS 9_1(如Mac OS X)AppleWebKit / 601.1.46(KHTML如Gecko)版本/9.0 Mobile / 13B143Safari / 601.1(兼容; Baiduspider-render / 2.0; +)
PC UA:Mozilla / 5.0(兼容; Baiduspider -render / 2.0; +)
需要注意的是百度新增了一个移动的User-Agent和一个PC的User-Agent真伪。如何识别百度蜘蛛检测。
1首选我们需要通过关键字查找User-Agent中是否包含Baiduspider;
2如果想区分移动和PC的蜘蛛的话我们还需要在结果 中再进行关键字过滤移动端的User-Agent包含:AndroidiPhoneMobile等三个中至少一个
3通过上述操作我们可以分辨出抓取是百度蜘蛛抓取但并不能分辨 判断百度蜘蛛真伪
1网站排名但并不能分辨 判断百度蜘蛛真伪
1验证百度蜘蛛真伪我们一般使用的是DNS反查IP的方式来进行判断首选我们需要找到上述抓取记录中蜘蛛的IP蜘蛛。
2以Windows操作系统为例开始运行中输入cmd弹出窗口中输入nslookup(上述IP地址)判断百度蜘蛛的真伪真是百度蜘蛛结果中会返回以* .baidu.com或* .baidu正确。jp的格式命名主机名如不包含则为假百度蜘蛛识别。
3也有在线百度蜘蛛真伪查询工具可直接查询百度。