一个php文件统计网站蜘蛛!
2025-02-28
在根目录下创建一个zhizhu.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); } ?>
=====================
2.在根目录创建一个zhizhu.txt的空白文件用来记录。
=====================
3.在根目录创建读取文件 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'); ?>
放到网站的通用底部,比如放统计代码的地方就行了。
==============================
蜘蛛读取查看地址 域名/duqu.php(名字自行更改)
数据太多就把txt文件清空一下就好。