日日摸夜夜添夜夜添aa,亚洲一区二区在线视频,国产精品入口在线看麻豆,久久久久久久99精品免费观看

thinkphp6如何記錄百度等蜘蛛的爬取日志

程序猿 2021-03-17 20:08:08 2147瀏覽 加載中

thinkphp6記錄百度蜘蛛日志。在控制器的父類如IndexBase中寫入以下代碼,所有前端控制器繼承這個控制器

  public function initialize()
    {

        parent::initialize(); // TODO: Change the autogenerated stub

        if ($this->Config['web_status'] == 0) {  // 判斷是否關閉網站
            die('網站已經關閉');
        }

        $this->baiduLog();
    }

    protected function baiduLog()
    {
        $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
        $url = $this->request->controller() . "/" . $this->request->action();
        $param = input("param.","","htmlspecialchars");
        $url = (string) url($url,$param);
        $ip = get_real_ip();
        $title = "";
        if (strpos($useragent, 'googlebot') !== false){
            $title =  'Google';
        } elseif (strpos($useragent, 'baiduspider') !== false){
            $title =  'Baidu';
        } elseif (strpos($useragent, 'msnbot') !== false){
            $title =  'Bing';
        } elseif (strpos($useragent, 'slurp') !== false){
            $title =  'Yahoo';
        } elseif (strpos($useragent, 'sosospider') !== false){
            $title =  'Soso';
        } elseif (strpos($useragent, 'sogou spider') !== false){
            $title =  'Sogou';
        } elseif (strpos($useragent, 'yodaobot') !== false){
            $title =  'Yodao';
        } elseif (strpos($useragent, 'googlebot') !== false){
            $title =  'Google';
        } elseif (strpos($useragent, 'baiduspider') !== false){
            $title =  'Baidu';
        } else {
//            $title = $useragent; // 不怕數據大的話可以取消注釋,記錄所有訪問日志
        }
        if (!empty($title)) {
            BaiduLog::create(["title"=>$title,"href"=>$url,"ip"=>$ip]);
        }
    }

以上就是thinkphp6記錄百度蜘蛛爬行日志的方法,

get_real_ip()

是獲取客戶真實IP的自定義函數,可以在本站搜索找到。

標簽: thinkphp6
最后修改:2025-04-25 19:17:49

非特殊說明,本博所有文章均為博主原創。