您好,登錄后才能下訂單哦!
這篇文章主要介紹“ThinkPHP6記錄蜘蛛爬取日志的方法是什么”,在日常操作中,相信很多人在ThinkPHP6記錄蜘蛛爬取日志的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ThinkPHP6記錄蜘蛛爬取日志的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
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記錄蜘蛛爬取日志的方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。