乐天网乐天网

快乐
过好每一天!

PHP如何记录蜘蛛爬行信息

这段PHP代码是我调试好的,一直自己用,可以用来分析下每天蜘蛛的爬行记录,但是对于一些只是虚拟主机的朋友来说还是比较方便的,直接通过网页的形式分析你站点的蜘蛛爬行记录.
这个文件的代码挺简单:各大搜索引擎的蜘蛛爬行程序都有自己的标识符,百度的是baiduspider,谷歌的是googlebot,还有雅虎的 等.有朋友问怎么判断当前访问者是否是搜索引擎呢?实际上通过PHP中的$_SERVER["HTTP_USER_AGENT"]服务器变量可以判断的. 下面就是一段简单的通过PHP获取搜索引擎蜘蛛来访爬行记录,并写入数据库的代码.
我们先用dreamweaver建一个php文件,代码如下,命名为robots.php.

<?php
function get_naps_bot()
{
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($useragent, 'googlebot') !== false){
return 'Googlebot';
}
if (strpos($useragent, 'msnbot') !== false){
    return 'MSNbot';
}
if (strpos($useragent, 'slurp') !== false){
return 'Yahoobot';
}
if (strpos($useragent, 'baiduspider') !== false){
return 'Baiduspider';
}
if (strpos($useragent, 'sohu-search') !== false){
return 'Sohubot';
}
if (strpos($useragent, 'lycos') !== false){
return 'Lycos';
}
if (strpos($useragent, 'robozilla') !== false){
return 'Robozilla';
}
return false;
}
function nowtime(){
$date=gmdate("Y-n-j H:i:s",time()+8*3600);
return $date;
}
$searchbot = get_naps_bot();
if ($searchbot) {
$tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
$url=$_SERVER['HTTP_REFERER'];
$file="robotslogs.txt";
$time=nowtime();
$data=fopen($file,"a");
fwrite($data,"Time:$time robot:$searchbot URL:$tlc_thispagen");
fclose($data);
}
?>

然后把robots.php文件上传到你的网站程序的模板目录中(我自己的站点用的是wordpress程序,所以是放在wordpress主题的目录下 的);最后在你的模板文件中调用它,例如在Wordpress博客中,你可以在footer.php文件中最下面添加代码:

<?php include('robots.php'); ?>

接下来就是等蜘蛛爬取了,爬行的记录均会记录在robotslogs.txt这个文件里,如果没有的话可以自己先建立个空白文档命名为 robotslogs.txt,然后打开http://www.YourDomain.com/robotslogs.txt 这个时候可以直接在网页上看到你的站点蜘蛛爬行记录了,很方便很直观的,当然你也可以自定义这个文档名称,把第36行的robotslogs.txt改为 其他名字.

本原创文章未经允许不得转载 | 当前页面:乐天网 » PHP如何记录蜘蛛爬行信息