程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 利用php抓取蜘蛛爬蟲痕跡的示例代碼

利用php抓取蜘蛛爬蟲痕跡的示例代碼

編輯:PHP綜合

前言

相信許多的站長、博主可能最關心的無非就是自己網站的收錄情況,一般情況下我們可以通過查看空間服務器的日志文件來查看搜索引擎到底爬取了我們哪些個頁面,不過,如果用php代碼分析web日志中蜘蛛爬蟲痕跡,是比較好又比較直觀方便操作的!下面是示例代碼,有需要的朋友們下面來一起看看吧。

示例代碼

<?php
//獲取蜘蛛爬蟲名或防采集
function isSpider(){
  $bots = array(
          'Google'  => 'googlebot',
          'Baidu'    => 'baiduspider',
          'Yahoo'    => 'yahoo slurp',
          'Soso'    => 'sosospider',
          'Msn'    => 'msnbot',
          'Altavista'  => 'scooter ',
          'Sogou'    => 'sogou spider',
          'Yodao'    => 'yodaobot'
      );
  $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
  foreach ($bots as $k => $v){
    if (strstr($v,$userAgent)){
      return $k;
      break;
    }
  }
  return false;
} 
//獲取哪種蜘蛛爬蟲後保存蜘蛛痕跡。
//根據采集時HTTP_USER_AGENT是否為空來防止采集
//抓蜘蛛爬蟲
$spi  = isSpider();
if($spi){
  $tlc_thispage  = addslashes($_SERVER['HTTP_USER_AGENT']);
  $file      = 'robot.txt';
  $time      = date('Y-m-d H:i:s',mktime());
  $handle      = fopen($file,'a+');
  $PR        = $_SERVER['REQUEST_URI'];
  fwrite($handle, "Time:{$time} ROBOT:{$spi} AGENT:{$tlc_thispage} URL:{$PR} \n\r");
  fclose($handle);
}
?>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有問題大家可以留言交流。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved