只需两步,正确识别百度蜘蛛

2017-11-20 Issac 677

经常听到站长们问,百度蜘蛛是什么?最近百度蜘蛛来的太频繁服务器抓爆了,最近百度蜘蛛都不来了怎么办,还有很多站点想得到百度蜘蛛的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 即为冒充。

 热词网.jpg

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

给我们留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。