WordPress纯PHP代码实现记录搜索引擎蜘蛛爬行记录【转载】

来源:互联网 发布:suewon poongryuk mac 编辑:程序博客网 时间:2024/05/20 03:41

在新站或网站收录有问题时,可能需要持续关注搜索引擎蜘蛛的抓取情况。每次打开服务器端访问日志查看非常麻烦,特别是当日志文件比较大时更是不便。最好的办法就是在线直接打开看蜘蛛爬行记录。为此,我们可以免插件使用纯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状态码等都无法显示,有知道如何获取状态码的同学请留言教我哦!

原创粉丝点击