下面thinkphp框架教程栏目将给大家介绍thinkphp 6是怎么记录百度等蜘蛛爬取日志,希望对需要的朋友有所帮助!
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]); } }