Meta 描述:PHP 实现记录百度蜘蛛访问日志,查看哪些页面被爬虫抓取,无需第三方插件,适合资源网站,简单可直接部署。
站长想要查看百度蜘蛛什么时候来过网站,抓取哪些 URL,不用复杂统计工具,一段简单 PHP 代码就可以记录蜘蛛 UA、访问时间、访问页面,保存本地日志文件。
实现代码 spider_log.php
php
运行
<?php
//判断是否搜索引擎蜘蛛
$ua = $_SERVER['HTTP_USER_AGENT'];
$spiderList = ['Baiduspider','Sogou spider','360Spider'];
$isSpider = false;
foreach ($spiderList as $name){
if(strpos($ua,$name)!==false){
$isSpider = true;
break;
}
}
if($isSpider){
$logFile = __DIR__.'/spider.log';
$time = date('Y‑m‑d H:i:s');
$url = $_SERVER['REQUEST_URI'];
$ip = $_SERVER['REMOTE_ADDR'];
$logContent = "【{$time}】IP:{$ip} UA:{$ua} URL:{$url}".PHP_EOL;
file_put_contents($logFile,$logContent,FILE_APPEND);
}
?>
使用部署
- 将代码保存为
spider_log.php放到网站根目录 - 在网站公共头部 php 文件引入
include 'spider_log.php'; - 设置 spider.log 文件可写权限
- 等待蜘蛛访问,打开 spider.log 即可看到抓取记录
宝塔配套优化
设置计划任务,定期切割日志,防止日志文件体积过大。
局限说明
仅记录 PHP 动态页面,静态 html 页面不会触发日志。
小结:可以快速观察蜘蛛抓取频率,判断新发布的资源页面有没有被爬虫访问,辅助排查收录困难问题。