在分析网站日志时,我们经常会遇到伪装成baiduspider的访问者。这些数据会严重影响我们对日志分析的准确性。
这些伪装者为什么会冒充baiduspider访问我们的网站呢?主要原因是那些采集内容的人知道,很多工具可以监控到某个IP访问网站的频率。如果一个IP在一天内访问了你的网站一万次,这显然是不正常的。但如果这个访问者是baiduspider,那这种频率就显得合理了。
那么,我们该如何辨别baiduspider的真假呢?
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 (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)
以上是百度常规爬虫和渲染爬虫的UA,红色字体标出了它们的区别。
区分百度PC端和移动端的爬虫可以通过以下方法:
- 通过关键词“Android”或“Mobile”来识别,判断为移动端访问或抓取。
- 通过关键词“Baiduspider/2.0”或“Baiduspider-render/2.0”来判断是否为百度爬虫。
那么,站长如何通过IP来判断这个spider是否来自百度搜索引擎呢?
可以通过DNS反查的方式来解决这个问题。根据平台不同,验证方法如下:
- 在Linux平台下,可以使用
host
命令反解IP来判断是否来自Baiduspider的抓取。Baiduspider的hostname以.baidu.com
或.baidu.jp
的格式命名,非.baidu.com
或.baidu.jp
即为冒充。
2. 在Windows平台或IBM OS/2平台下,可以使用
nslookup命令反解IP来判断是否来自Baiduspider的抓取。打开命令处理器输入
nslookup xxx.xxx.xxx.xxx(IP地址)就能解析IP,来判断是否来自Baiduspider的抓取,Baiduspider的hostname以
.baidu.com或
.baidu.jp的格式命名,非
.baidu.com或
.baidu.jp即为冒充。
- 在macOS平台下,可以使用
dig
命令反解IP来判断是否来自Baiduspider的抓取。打开命令处理器输入dig xxx.xxx.xxx.xxx
(IP地址)就能解析IP,来判断是否来自Baiduspider的抓取,Baiduspider的hostname以.baidu.com
或.baidu.jp
的格式命名,非.baidu.com
或.baidu.jp
即为冒充。










