如何自己制作简单的统计网站蜘蛛爬取记录
现在大家做站都很注重网站是否有蜘蛛来爬取,一个网站如果蜘蛛都没有来的话,那这个站就不会被搜索引擎收录,那就更不要想有流量、权重了,所以在网站收录有流量之前,最主要的是要有蜘蛛来爬取,那怎么样看网站有没有蜘蛛来呢?很多程序都会有这样的插件,如果没有的话,小编今天就给大家分享一下用PHP如何制作一款简单的蜘蛛爬取记录程序!
一,在根目录下创建一个zhizhu.php文件代码:(文件名大家可以按自己的想法创建,比如zz.php等)
<?php
// 定义常见搜索引擎蜘蛛的特征字符串
$spiders = array(
'ToutiaoSpider' => 'ByteDanceSpider',
'BaiduSpider' => 'BaiduSpider',
'360Spider' => '360Spider',
'SogouSpider' => 'SogouSpider',
'Bingbot' => 'Bingbot',
'Googlebot' => 'Googlebot',
'ShenmaSpider' => 'YisouSpider'
);
// 获取用户代理信息
$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
// 获取当前访问的链接
$current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
// 检查是否为蜘蛛访问
$is_spider = false;
$spider_name = '';
foreach ($spiders as $name => $pattern) {
if (strpos($user_agent, $pattern) !== false) {
$is_spider = true;
$spider_name = $name;
break;
}
}
// 如果是蜘蛛访问,记录统计信息到日志文件
if ($is_spider) {
$log_file = 'zhizhu.txt';
$log_entry = date('Y-m-d H:i:s') . " - {$spider_name} - {$current_url} - {$user_agent}\n";
file_put_contents($log_file, $log_entry, FILE_APPEND);
}
?>
二,在根目录创建一个zhizhu.txt的空白文件用来记录。(当然这个文件名也是可以按自己喜好来建的,小编只是举例!)
三,在根目录创建读取文件 duqu.php,代码如下:(这个文件名也可以按自己喜好来,自己好记就行)
<?php
// 统计蜘蛛访问次数和链接
function count_spider_visits() {
$log_file = 'zhizhu.txt';
if (!file_exists($log_file)) {
return [];
}
$lines = file($log_file, FILE_IGNORE_NEW_LINES);
$spider_counts = [];
$spider_url_counts = [];
foreach ($lines as $line) {
$parts = explode(' - ', $line);
if (count($parts) >= 3) {
$spider = $parts[1];
$url = $parts[2];
// 统计蜘蛛总访问次数
if (!isset($spider_counts[$spider])) {
$spider_counts[$spider] = 0;
}
$spider_counts[$spider]++;
// 统计蜘蛛访问每个链接的次数
if (!isset($spider_url_counts[$spider])) {
$spider_url_counts[$spider] = [];
}
if (!isset($spider_url_counts[$spider][$url])) {
$spider_url_counts[$spider][$url] = 0;
}
$spider_url_counts[$spider][$url]++;
}
}
return [
'spider_counts' => $spider_counts,
'spider_url_counts' => $spider_url_counts
];
}
// 调用统计函数
$stats = count_spider_visits();
// 输出统计结果
echo "<h2>蜘蛛总访问次数统计</h2>";
foreach ($stats['spider_counts'] as $spider => $count) {
echo "<p>{$spider}: {$count} 次</p>";
}
echo "<h2>蜘蛛访问链接详细统计</h2>";
foreach ($stats['spider_url_counts'] as $spider => $urls) {
echo "<h3>{$spider}</h3>";
foreach ($urls as $url => $count) {
echo "<p>链接: {$url}, 访问次数: {$count}</p>";
}
}
?>
四,把代码:<?php include('zhizhu.php'); ?>放到网站的通用底部,比如放统计代码的地方就行了。(这样是为了方便统计每个页面)
五,注意事项:
1,读取查看蜘蛛地址:你的域名/duqu.php(名字就看你前面自己定义的了)
2,如果数据太多就把txt文件清空一下就可以了。