在新站或网站收录有问题时,可能需要持续关注搜索引擎蜘蛛的抓取情况。每次打开服务器端访问日志查看非常麻烦,特别是当日志文件比较大时更是不便。最好的办法就是在线直接打开看蜘蛛爬行记录。为此,我们可以免插件使用纯PHP代码来实现这个功能,以下是具体实现代码。


// 记录蜘蛛访问记录	
    function get_naps_bot(){  
    $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);  
    if (strpos($useragent, 'googlebot') !== false){  
    return 'Googlebot';  
    }  
    if (strpos($useragent, 'bingbot') !== false){  
    return 'Bingbot';  
    }  
    if (strpos($useragent, 'slurp') !== false){  
    return 'Yahoobot';  
    }  
    if (strpos($useragent, 'baiduspider') !== false){  
    return 'Baiduspider';  
    }  
    if (strpos($useragent, 'sogou web spider') !== false){  
    return 'Sogouspider';  
    }  
    if (strpos($useragent, 'haosouspider') !== false){  
    return 'HaosouSpider';  
    }  
    if (strpos($useragent, 'yodaobot') !== false){  
    return 'YodaoBot';  
    }  
    return false;  
    }  
    function nowtime(){  
    date_default_timezone_set('Asia/Shanghai');  
    $date=date("Y-m-d G:i:s");  
    return $date;  
    }  
    $searchbot = get_naps_bot(); 
    if ($searchbot) {  
    $tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);  
    $url=$_SERVER['HTTP_REFERER']; 
	$addr=$_SERVER['REMOTE_ADDR']; 
    $file="robotslogs.txt";  //根目录下记录蜘蛛访问的文件
    $time=nowtime();  
    $data=fopen($file,"a");  
    $PR="$_SERVER[REQUEST_URI]";  
    fwrite($data,"[$time] - $addr - $PR - $searchbot $tlc_thispage \r\n");  
    fclose($data);  
    }  

使用说明:将以上代码插入funtion.php文件,并在网站根目录下创建一个名为robotslogs.txt的文件即可,文件名可自定义。注意需为robotslogs.txt设置可写权限,最好是777权限,755权限某些主机配置下可能存在无法写入的情况。以上代码能记录搜索蜘蛛的基本抓取信息,但有个缺陷,目前还不能记录抓取网址时的状态,比如404、404状态码等都无法显示,有知道如何获取状态码的同学请留言教我哦!