经常听到站长们问,百度蜘蛛是什么?最近百度蜘蛛来的太频繁服务器抓爆了,最近百度蜘蛛都不来了怎么办,还有很多站点想得到百度蜘蛛的IP段,想把IP加入白名单,但IP不固定,我们无法对外公布。
那怎么才能识别正确的百度蜘蛛呢?来来来,只需两步,教你正确识别百度蜘蛛
1、查看UA,如果UA都不对,可以直接判断非百度搜索的蜘蛛,目前对外公布过的UA是:
移动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;+http://www.baidu.com/search/spider.html)
PC UA:Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)
新增渲染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; +http://www.baidu.com/search/spider.html)
PC UA:Mozilla/5.0 (compatible;Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)
不管是移动ua还是PC ua都包含有关键字Baiduspider,我们可以由此判断访客ua是不是来自百度。与PC ua不同的是,移动ua包含有关键字android和mobile,再通过这两个关键字,我们就可以识别出来访的访客ua是移动ua还是pc ua。
通过以上判断逻辑,我们可以很容易判断出来访的ua类型。下面是如何通过主流的php和asp语言来判断来访的ua类型。
如何用程序识别Baiduspider ua
php版:
<?php
$ua=$_SERVER['HTTP_USER_AGENT'];
$ua=strtolower($ua);
if($ua!="" &&strpos($ua,"baiduspider")){
if(strpos($ua,"android") || strpos($ua,"mobile")){
echo "是百度移动UA";
}else{
echo "是百度PCUA";
}
}else{
echo"不是baiduspider UA";
}
?>
asp版:
<%
ua=Request.ServerVariables("HTTP_USER_AGENT")
ua=LCase(ua)
if ua<>"" andInStr(ua,"baiduspider")<>0 then
ifInStr(ua,"android")<>0 or InStr(ua,"mobile")<>0then
response.write "是百度移动 UA"
else
response.write"是百度PC UA"
endif
else
response.write "不是baiduspiderUA"
end if
%>
2、反查IP
站长可以通过DNS反查IP的方式判断某只spider是否来自百度搜索引擎。根据平台不同验证方法不同,如linux/windows/os三种平台下的验证方法分别如下:
1)、在linux平台下,您可以使用host ip命令反解ip来判断是否来自Baiduspider的抓取。Baiduspider的hostname以 *.baidu.com 或 *.baidu.jp 的格式命名,非 *.baidu.com 或 *.baidu.jp 即为冒充。
2)、在windows平台或者IBM OS/2平台下,您可以使用nslookup ip命令反解ip来 判断是否来自Baiduspider的抓取。打开命令处理器 输入nslookup xxx.xxx.xxx.xxx(IP地 址)就能解析ip, 来判断是否来自Baiduspider的抓取,Baiduspider的hostname以*.baidu.com 或*.baidu.jp 的格式命名,非 *.baidu.com 或 *.baidu.jp 即为冒充。
3)、 在mac os平台下,您可以使用dig 命令反解ip来 判断是否来自Baiduspider的抓取。打开命令处理器 输入dig xxx.xxx.xxx.xxx(IP地 址)就能解析ip, 来判断是否来自Baiduspider的抓取,Baiduspider的hostname以 *.baidu.com 或*.baidu.jp 的格式命名,非 *.baidu.com 或 *.baidu.jp 即为冒充。