怎么识别Baiduspider的真假?
我们在根据网站日志分析搜索引擎蜘蛛抓取网页的记录时,实际上很多站点都是有一些伪装称baiduspider的到访者的。这些数据会严重影响我们对日志分析后的判断。
这些到访者,为什么会伪装为baiduspider来访问我们的网站呢?最典型的就是采集你内容的那些人。他们知道很多工具是能够看到哪些ip访问网站的量过大的。例如某一个ip今天访问你网站1万次,那正常吗?肯定是不正常的。但他要是baiduspdier呢?呵呵,那就正常了。
我们应该如何识别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)
如上是包含了百度的常规爬虫,和渲染爬虫render的。这两个爬虫的区别符已经用红色字体标出来了。
区分百度pc和移动端的爬虫
- 通过关键词“Android”或者“Mobile”来进行识别,判断为移动访问或者抓取。
- 通过关键词“Baiduspider/2.0”、“Baiduspider-render/2.0”,判断为百度爬虫。
然而,你以为这样就能很好的识别了吗?采集者要是伪装成和上面一样的UA信息(什么事UA,可参考文章:教你如何查看IIS日志)怎么办呢?
这个时候我们就要用到ip地址了,每一次访问在日志中都记录了访客的ip地址,我们可以判断ip是不是真的baiduspider,方法如下:
windows电脑反查ip,判断爬虫真伪:
点击“开始”菜单,-> 点击“运行”按钮,-> 然后弹出cmd窗口。输入“nslookup 要查询的ip地址”,点击回车键,会有结果输出出来。判断是否来自Baiduspider的抓取。回车后的结果如果包含x x.baidu.com 或x x.baidu.jp 这两种格式,就说明是真的baiduspider。下面是示例:
如上图中,我执行命令,返回的结果中,最后绿色框中的内容就包含的xx.baidu.com,所以是真的爬虫,如果不是这样的就不是真的baiduspider。
liunx系统反查ip,判断爬虫真伪:
liunx系统验证爬虫的逻辑与windows没有什么区别,只是查询的方式不同。毕竟系统不一样了。这里我直接给一个示例:
如上图,liunx使用的命令是“host 要查询的ip地址”,其判断逻辑与windows系统一样。
好了,今天的文章分享到这里。赶紧去拿你的日志看看哪些访客是伪装的爬虫吧,今早把他们屏蔽掉。