搜索机器人的PHP代码

来源:互联网 发布:linux 重命名 编辑:程序博客网 时间:2024/04/29 15:58
  1. /**  
  2. * 判断是否为搜索引擎蜘蛛  
  3. *  
  4. * @access  public  
  5. * @return  string  
  6. */  
  7. function is_spider($record = true)   
  8. {   
  9.     static $spider = NULL;   
  10.     if ($spider !== NULL)   
  11.     {   
  12.         return $spider;   
  13.   
  14.     }   
  15.     if (emptyempty($_SERVER['HTTP_USER_AGENT']))   
  16.     {   
  17.         $spider = '';   
  18.         return '';   
  19.     }   
  20.   
  21.     $searchengine_bot = array(   
  22.         'googlebot',   
  23.         'mediapartners-google',   
  24.         'baiduspider+',   
  25.         'msnbot',   
  26.         'yodaobot',   
  27.         'yahoo! slurp;',   
  28.         'yahoo! slurp china;',   
  29.         'iaskspider',   
  30.         'sogou web spider',   
  31.         'sogou push spider',   
  32.         'feedfetcher-google',   
  33.         'yahoofeedseeker'  
  34.     );   
  35.   
  36.     $searchengine_name = array(   
  37.         'GOOGLE',   
  38.         'GOOGLE ADSENSE',   
  39.         'BAIDU',   
  40.         'MSN',   
  41.         'YODAO',   
  42.         'YAHOO',   
  43.         'Yahoo China',   
  44.         'IASK',   
  45.         'SOGOU',   
  46.         'SOGOU',   
  47.         'Feedfetcher-Google',   
  48.         'YahooFeedSeeker'  
  49.     );   
  50.   
  51.     $spider = strtolower($_SERVER['HTTP_USER_AGENT']);   
  52.     foreach ( $searchengine_bot AS $key => $value)   
  53.     {   
  54.         if (strpos($spider$value) !== false)   
  55.         {   
  56.             $spider = $searchengine_name[$key];   
  57.             if ($record === true)   
  58.             {   
  59.             // do something   
  60.             }   
  61.             return $spider;   
  62.         }   
  63.     }   
  64.     $spider = '';   
  65.     return '';   
  66. }