下面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]);
}
}以上就是thinkphp6记录百度蜘蛛爬行日志的方法,
get_real_ip()
立即学习“PHP免费学习笔记(深入)”;
是获取客户真实IP的自定义函数。
推荐:《最新的10个thinkphp视频教程》
以上就是ThinkPHP6记录蜘蛛爬取日志的方法的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号