如何用程序识别Baiduspider ua
之前笔者小丹说过手下的很多网站找不到Baiduspider爬行记录,这是造成网站不更新的主要原因。就这两天的网络日志来看依然故我,没有找到爬行记录。而就在昨日,百度站长公告再次告诉我们,不是找不到Baiduspider而它已经升级了。
新版移动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.***/search/spider.html)
PC ua:
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.***/search/spider.html)
Baiduspider针对移动抓取user agent(以下简称ua)进行了升级,与PC端的抓取ua做到版本统一,均称为Baiduspider/2.0。从此次更新的移动ua和PC ua来看,不管是移动ua还是PC ua都包含有关键字Baiduspider,我们可以由此判断访客ua是不是来自百度。与PC ua不同的是,移动ua包含有关键字android和mobile,再通过这两个关键字,我们就可以识别出来访的访客ua是移动ua还是pc ua。
通过以上判断逻辑,我们可以很容易判断出来访的ua类型。下面是如何通过主流的php和asp语言来判断来访的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
%>
以上demo可以用来简单判断来访ua是否是Baiduspiderua,以及是什么类型的ua,在实际使用过程中,请稍加修改后使用。
(转载请注明转自:ww***zha***.cn/news/n1701.htm,谢谢!珍惜别人的劳动成果,就是在尊重自!)
新版移动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.***/search/spider.html)
PC ua:
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.***/search/spider.html)
Baiduspider针对移动抓取user agent(以下简称ua)进行了升级,与PC端的抓取ua做到版本统一,均称为Baiduspider/2.0。从此次更新的移动ua和PC ua来看,不管是移动ua还是PC ua都包含有关键字Baiduspider,我们可以由此判断访客ua是不是来自百度。与PC ua不同的是,移动ua包含有关键字android和mobile,再通过这两个关键字,我们就可以识别出来访的访客ua是移动ua还是pc ua。
通过以上判断逻辑,我们可以很容易判断出来访的ua类型。下面是如何通过主流的php和asp语言来判断来访的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
%>
以上demo可以用来简单判断来访ua是否是Baiduspiderua,以及是什么类型的ua,在实际使用过程中,请稍加修改后使用。
(转载请注明转自:ww***zha***.cn/news/n1701.htm,谢谢!珍惜别人的劳动成果,就是在尊重自!)