<button id="g80sy"></button>
  • <abbr id="g80sy"></abbr>
  • <button id="g80sy"></button>
    <rt id="g80sy"><delect id="g80sy"></delect></rt>
  • thinkphp6如何記錄百度等蜘蛛的爬取日志

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

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

      public function initialize()
        {
    
            parent::initialize(); // TODO: Change the autogenerated stub
    
            if ($this->Config['web_status'] == 0) {  // 判斷是否關(guān)閉網(wǎng)站
                die('網(wǎng)站已經(jīng)關(guān)閉');
            }
    
            $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; // 不怕數(shù)據(jù)大的話可以取消注釋,記錄所有訪問日志
            }
            if (!empty($title)) {
                BaiduLog::create(["title"=>$title,"href"=>$url,"ip"=>$ip]);
            }
        }

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

    get_real_ip()

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

    標(biāo)簽: thinkphp6
    最后修改:2025-09-14 04:11:19

    非特殊說明,本博所有文章均為博主原創(chuàng)。

    主站蜘蛛池模板: 赣州市| 通州区| 平乐县| 墨竹工卡县| 肃宁县| 房产| 汶川县| 徐州市| 公主岭市| 保德县| 敦化市| 托克逊县| 葫芦岛市| 大兴区| 繁昌县| 渝中区| 资源县| 拉萨市| 磐石市| 蓬安县| 礼泉县| 吴忠市| 巢湖市| 曲周县| 五大连池市| 天水市| 白朗县| 宣威市| 奉新县| 沈阳市| 积石山| 陆河县| 巴青县| 正蓝旗| 柘荣县| 隆林| 平湖市| 东丽区| 且末县| 靖安县| 桓台县|