搜索引擎爬虫记录器

今天在ChinaUnix在看到一段记录爬虫程序的代码:

function saveRobot($dir)

{

        $addtime = date('Y-m-d H:i:s',time());

        $GetLocationURL= "http://".$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI'] ;

        $agent1 = $_SERVER["HTTP_USER_AGENT"] ;  

        $agent=strtolower($agent1);

        $Bot='';

        if (strpos($agent,"googlebot")>-1){$Bot = "Google";}           

        if (strpos($agent,"mediapartners-google")>-1){$Bot = "Google";}

        if (strpos($agent,"baiduspider")>-1){$Bot = "Baidu";}

        if (strpos($agent,"sogou spider")>-1){$Bot = "Sogou";}

        if (strpos($agent,"sosospider")>-1){$Bot = "Soso";}

        if($Bot!="")

        {

                $mDateTime=date("Y-m-d");

                //检查今天表存在否,不存在就建立。

                file_put_contents($dir."/$mDateTime.html","$Bot - $GetLocationURL - $addtime <br>",FILE_APPEND);

                //echo $agent .' - ' .$Bot .' - ' . $GetLocationURL;

        }

}

 

受此启发,可以看出,爬虫程序在访问你的网站时是通过$_SERVER["HTTP_USER_AGENT"]来标识自己的,不同的爬虫有不同的名字。

 

在网上搜索了一个完整的爬虫记录程序,贴出来供大家参考:

<?php

/**

  * 名称:抓虫助手 1.0

  * 文件:cls_spider.php

  

  * --------说明-----------------

  * 类文件的作用是监控搜索引擎爬虫对网站的操作。

  * 本类为php代码,只适用于php系统的网站。

  * 代码没有使用到数据库,直接把记录写在文本文件中,请在根目录建立spider文件夹。

  * 代码产生的记录,仅供参考,并不保证包含所有的记录,因为没有运行到本代码的文件是不会记录的。

  * 本代码为免费代码,可以随便复制,修改使用,但是希望能保留一点我的版权信息。

  

  * --------使用方法-------------

  * 请将需要统计的页面加入以下代码,并调用,一般修改在全局调用的文件中。



  * require(ROOT_PATH . '本文件目录/cls_spider.php');

  * $spider=new spider();



  * 如果有不会安装的朋友 可以通过以下方式联系我帮忙。

  * QQ: 235534

  * EMAIL: [email protected]

  * 博客: http://blog.toptao123.com

  * 请支持一下我的网站 http://www.ataobao.net http://www.toptao123.com 欢迎交换链接

*/



class spider

{

    var $searchbot    = "";

    var $tlc_thispage = "";

    var $filename     = "";

    var $timestr      = "";

    var $spider_array = array("Googlebot"=>"googlebot",

                              "GOOGLE ADSENSE"=>"mediapartners-google",

                              "YODAO"=>"yodaobot",

                              "MSNbot"=>"msnbot",

                              "Yahoobot"=>"slurp",

                              "Baiduspider"=>"baiduspider",

                              "Sohubot"=>"sohu-search",

                              "IASK"=>"iaskspider",

                              "SOGOU"=>"sogou",

                              "Robozilla"=>"robozilla",

                              "Lycos"=>"lycos");



    function __construct()

    {

        $this->tlc_thispage=addslashes($_SERVER["REQUEST_URI"]);

        $this->filename='spider/'.date("ymd").'.txt';

        $this->timestr=$this->nowtime();

        $this->searchbot = $this->get_naps_bot();

        $this->spider();

    }



    function spider()

    {

        if(!empty($this->searchbot))

        {

            $writestring="Time:".$this->timestr." Robot:".$this->searchbot." URL:".$this->tlc_thispage."\n";

            $data=fopen($this->filename,"a");

            fwrite($data,$writestring);

            fclose($data);

        }

    }



    function get_naps_bot()

    {

        if(isset($_SERVER['HTTP_USER_AGENT']))

        {

            $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);

            foreach($this->spider_array as $key=>$value)

            {

                if (strpos($useragent, $value) !== false)

                {

                    return $key;

                }

            }

        }

        return false;

    }



    function nowtime()

    {

        $date=date("Y-m-d.G:i:s");

        return $date;

    }

}

?>

你可能感兴趣的:(搜索引擎)