分别统计百度PC蜘蛛和移动蜘蛛并输出txt的php代码

以前分享过的记录百度蜘蛛抓取链接为txt的代码只能笼统的实现百度蜘蛛的记录,不能区分百度PC蜘蛛和移动蜘蛛。

现在越来越多的人说百度PC蜘蛛不收录,要移动蜘蛛才行,所以特意编写了这段代码,本代码可区别判断百度PC蜘蛛和移动蜘蛛

其实核心是对百度蜘蛛是移动还是PC标识的判断,不过一个IF判断而已。

有了这个判断,我们还可以进行延伸,比如写PHP控制屏蔽百度PC蜘蛛抓取,只要百度移动蜘蛛抓取的代码。

好了废话不多说,直接看代码。

<?php
//php直接输出蜘蛛日志
function get_naps_bot()
{
//获取用户UA并转换为小写
$tlc_thispage = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($tlc_thispage, 'baiduspider') !== false){
	return 'Baidu';
}
    return false;
}
//获取当前时间
function nowtime(){
	$date=gmdate("Y-n-j H:i:s",time()+8*3600);
	return $date;
}
$searchbot = get_naps_bot();
if ($searchbot) {
	//对页面UA进行处理,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()
	$useragent = strtolower(addslashes($_SERVER['HTTP_USER_AGENT']));
    $url=$_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    if(strpos($useragent,"android") || strpos($useragent,"iphone") || strpos($useragent,"mobile")){
        $file="Baidu-Mobile-Spiderlogs.txt";//如果是百度移动蜘蛛,输出到根目录任意命名方便访问即可
    }else{
        $file="Baidu-Pc-Spiderlogs.txt";//如果是百度PC动蜘蛛,输出到根目录任意命名方便访问即可
    }
	$time=nowtime();//获取当前时间
	$data=fopen($file,"a");
	fwrite($data,"Time:$time robot:$searchbot URL:$url\n");//输出日志
	fclose($data);
}
?>

在上面的代码中,为记录UA的含义,以前我们分享过的输出蜘蛛统计代码都用用到,但实际并未调用。

addslashes($_SERVER['HTTP_USER_AGENT'])

其输出的结果如图所示:

分别统计百度PC蜘蛛和移动蜘蛛并输出txt的php代码-第1张图片

为了防止小白看不懂,已经特意做了注释,只要是个人基本上都能看明白。

有时间将会将上述代码加入到蜘蛛统计插件中去,这样更加美观。

本站所有内容仅限用于学习和研究目的,程序仅供本地断网测试,转载请说明出处!
站群SEO » 分别统计百度PC蜘蛛和移动蜘蛛并输出txt的php代码

发表评论

欢迎 访客 发表评论

聚合全网站群程序及推送工具!

联系站长 联系客服