怎么识别百度蜘蛛Baiduspider的真假呢?官方推荐方法

在分析网站日志时,我们经常会遇到伪装成baiduspider的访问者。这些数据会严重影响我们对日志分析的准确性。

这些伪装者为什么会冒充baiduspider访问我们的网站呢?主要原因是那些采集内容的人知道,很多工具可以监控到某个IP访问网站的频率。如果一个IP在一天内访问了你的网站一万次,这显然是不正常的。但如果这个访问者是baiduspider,那这种频率就显得合理了。

那么,我们该如何辨别baiduspider的真假呢?

百度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 (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端和移动端的爬虫可以通过以下方法:

  1. 通过关键词“Android”或“Mobile”来识别,判断为移动端访问或抓取。
  2. 通过关键词“Baiduspider/2.0”或“Baiduspider-render/2.0”来判断是否为百度爬虫。

那么,站长如何通过IP来判断这个spider是否来自百度搜索引擎呢?

可以通过DNS反查的方式来解决这个问题。根据平台不同,验证方法如下:

  1. 在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
即为冒充。

  1. 在macOS平台下,可以使用
    dig
    命令反解IP来判断是否来自Baiduspider的抓取。打开命令处理器输入
    dig xxx.xxx.xxx.xxx
    (IP地址)就能解析IP,来判断是否来自Baiduspider的抓取,Baiduspider的hostname以
    .baidu.com
    .baidu.jp
    的格式命名,非
    .baidu.com
    .baidu.jp
    即为冒充。