8 u: p8 D7 O1 @: x7 i# E$ I$ H# o
我们经常在网站日志中看到各种爬虫抓取记录,最常见的就是百度蜘蛛等搜索引擎,以百度为例,通常我们判断是否是百度蜘蛛抓取看用户代理字符串也就是User-Agent,但是User-Agent是可以模拟的,所以很多时候也会有虚假的模拟伪装成百度蜘蛛来抓取,这时候我们就需要学会分辨真伪。 % O+ }7 { Q6 L
首先是百度User-Agent代理字符串,百度官方公布的有如下User-Agent:移动UA:Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,likeGecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0;+
2 G, o! U4 y+ Q( K http://www.baidu.com/search/spider.html)PC UA:Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html) % ~5 f. n4 N5 g" ?/ ^
新增渲染UA:移动UA:Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 likeMac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143Safari/601.1 (compatible; Baiduspider-render/2.0; +
$ M5 c; n& S) R- X( A+ U" g+ \, ] http://www.baidu.com/search/spider.html)PC UA:Mozilla/5.0 (compatible;Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)
. c( H) Z9 N# \, a8 a7 ?3 v 需要注意的是百度新增了一个移动的User-Agent,和一个PC的User-Agent我们知道了百度蜘蛛的User-Agent,如何正确识别和判断某条抓取是否是真实的百度蜘蛛如何识别百度蜘蛛1、首选我们需要通过关键词找User-Agent中是否包含Baiduspider;。
4 d& m5 K$ @& ?4 Y! \# f 2、如果想区分移动和PC的蜘蛛的话,我们还需要在结果中再进行关键词过滤,移动端的User-Agent包含:Android 、iPhone、Mobile等三个中至少一个3、通过上述操作我们可以分辨出哪些抓取是百度蜘蛛抓取,但并不能分辨真伪。 2 x* c* o4 S/ ?: J
判断百度蜘蛛真伪1、验证百度蜘蛛真伪我们一般使用的是DNS反查IP的方式来进行判断,首选我们需要找到上述抓取记录中蜘蛛的IP。 
" g, a0 P1 b1 W, A 2、以windows操作系统为例,开始运行中输入cmd 弹出窗口中输入 nslookup (上述IP地址),判断百度蜘蛛的真伪,真是百度蜘蛛结果中会返回以*.baidu.com 或*.baidu.jp 的格式命名hostname,如不包含则为假百度蜘蛛。 7 p( m4 J" R I; z
3、也有在线百度蜘蛛真伪查询工具可直接查询。原创文章,如果对您有帮助请点关注。
! N" w0 V* j' ]
/ C8 E& y7 G# l, ?7 Z9 n Q5 R* q! ^$ p u) t2 U" ~5 x
4 X% N( |1 `/ @% K4 t @
' N: m ]+ d! R9 K- C# f6 | |