实际上,我们的日志中,有很多的baiduspider是他人伪装的,要想解决这个问题。我们必须在验证baiduspider真伪上下功夫,这篇文章详细的介绍了爬虫的鉴别方法。
我们在根据网站日志分析搜索引擎蜘蛛抓取网页的记录时,实际上很多站点都是有一些伪装称baiduspider的到访者的。这些数据会严重影响我们对日志分析后的判断。
这些到访者,为什么会伪装为baiduspider来访问我们的网站呢?最典型的就是采集你内容的那些人。他们知道很多工具是能够看到哪些ip访问网站的量过大的。例如某一个ip今天访问你网站1万次,那正常吗?肯定是不正常的。但他要是baiduspdier呢?呵呵,那就正常了。
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)
Mozilla/5.0(Linux;u;Android4.2.2;zh-cn;)AppleWebKit/534.46(KHTML,likeGecko)Version/5.1MobileSafari/10600.6.3(compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)
Mozilla/5.0(iPhone;CPUiPhoneOS9_1likeMacOSX)AppleWebKit/601.1.46(KHTML,likeGecko)Version/9.0Mobile/13B143Safari/601.1(compatible;Baiduspider-render/2.0;+http://www.baidu.com/search/spider.html)
如上是包含了百度的常规爬虫,和渲染爬虫render的。这两个爬虫的区别符已经用红色字体标出来了。
可以通过DNS反查方式来解决这个问题。根据平台不同验证方法不同,如linux/windows/os三种平台下的验证方法分别如下:
1、在linux平台下,您可以使用hostip命令反解ip来判断是否来自Baiduspider的抓取。Baiduspider的hostname以.baidu.com或.baidu.jp的格式命名,非.baidu.com或.baidu.jp即为冒充。
2、在windows平台或者IBMOS/2平台下,您可以使用nslookupip命令反解ip来判断是否来自Baiduspider的抓取。打开命令处理器输入nslookupxxx.xxx.xxx.xxx(IP地址)就能解析ip,来判断是否来自Baiduspider的抓取,Baiduspider的hostname以.baidu.com或.baidu.jp的格式命名,非.baidu.com或.baidu.jp即为冒充。
3、在macos平台下,您可以使用dig命令反解ip来判断是否来自Baiduspider的抓取。打开命令处理器输入digxxx.xxx.xxx.xxx(IP地址)就能解析ip,来判断是否来自Baiduspider的抓取,Baiduspider的hostname以.baidu.com或.baidu.jp的格式命名,非.baidu.com或.baidu.jp即为冒充。