学完这篇,你能直接照着一张清单搭建蜘蛛爬虫分析报告,知道每个核心指标在哪里看、怎么算、看到什么值要报警。
第一步:固定数据源,拿到原始爬虫日志
这一步要把数据源定下来,做完你会得到一份按爬虫、时间、URL、状态码可筛选的原始表。不要只依赖站长后台,后台数据有抽样和延迟。服务器日志优先看 Nginx 的 /var/log/nginx/access.log 或 Apache 的 /var/log/apache2/access.log。先用命令把主流蜘蛛过滤出来:
grep -Ei 'googlebot|bingbot|baiduspider|yandexbot|sogou|360spider' /var/log/nginx/access.log > spider.log
再用 GoAccess 1.9.3 生成可视化报告:
goaccess /var/log/nginx/access.log --log-format=COMBINED -o report.html
后台入口也一起记录:Google Search Console 2024 界面左侧「设置」>「抓取统计信息」;Bing Webmaster Tools 左侧「诊断」>「爬网信息」;百度搜索资源平台左侧「数据统计」>「抓取频次」。
注意:日志至少保留 30 到 90 天,否则看不出趋势和突降。
第二步:抓取总量与趋势
这一步统计每日、每小时的抓取请求数和独立 URL 数,做完你能判断蜘蛛是变勤了还是被挡了。核心指标包括:每日抓取请求数、独立 URL 数、抓取字节数、环比变化。Nginx combined 格式下可先算总字节:
awk '{sum+=$10} END{print sum/1024/1024 " MB"}' spider.log
然后看各蜘蛛占比:
awk -F'"' '{print $6}' spider.log | sort | uniq -c | sort -rn | head -20
如果 Googlebot 请求数一天内从几万掉到几百,优先查 robots.txt、防火墙、CDN 是否误封。
第三步:状态码与错误分布
这一步看蜘蛛抓到了什么结果,做完你能把 404、403、429、500 分开处理。命令:
awk '{print $9}' spider.log | sort | uniq -c | sort -rn
重点关注:2xx 正常、3xx 跳转、404/410 死链、403 被拒、429 请求过多、500/503 服务器错误。Google Search Console 左侧「索引」>「页面」,点「未编入索引」可看「已发现 - 尚未抓取」「已抓取 - 尚未编入索引」「被 robots.txt 阻止」「找不到 (404)」。Bing 看「诊断」>「爬网信息」>「爬网错误」;百度看「数据统计」>「抓取异常」。
注意:429 和 503 不是普通错误,它们会直接告诉蜘蛛“少来点”,可能导致抓取预算下降。
第四步:抓取效率与预算
这一步算响应时间、下载大小、重复抓取率和目录抓取占比,做完你能知道蜘蛛把时间花在哪。若 Nginx 日志未记录响应时间,在 /etc/nginx/nginx.conf 的 http {} 内加入 log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_time';,并设置 access_log /var/log/nginx/access.log main;。之后看最慢请求:
awk '{print $NF, $0}' spider.log | sort -nr | head -20
热门目录:
awk '{print $7}' spider.log | cut -d? -f1 | sort | uniq -c | sort -rn | head -20
重复抓取率越高,说明内链、参数、分页或 canonical 可能有问题。
第五步:URL 覆盖与站点地图
这一步看哪些 URL 被收录、哪些被拦,做完你能列出可修清单。Google Search Console 左侧「索引」>「页面」看四类状态;左侧「索引」>「站点地图」提交 sitemap。Bing 在「站点资源」>「站点地图」提交;百度在「资源提交」>「sitemap」提交。用 Screaming Frog SEO Spider 20.0 本地核对:菜单「配置」>「爬取」>「robots.txt」勾选遵守规则;「配置」>「爬取」>「用户代理」选 Googlebot;爬完后看「报告」>「索引」>「不可索引的 URL」。
注意:「已发现 - 尚未抓取」长期大量堆积,不一定是收录问题,但通常说明内链弱或服务器响应慢。
第六步:爬虫身份与安全校验
这一步确认来的是真蜘蛛还是伪蜘蛛,做完你能避免被假 UA 刷爆日志。用反向 DNS 验证:
dig -x 66.249.66.1 +short
应返回类似 crawl-66-249-66-1.googlebot.com.。再做正向解析:
dig crawl-66-249-66-1.googlebot.com +short
应回到 66.249.66.1。
注意:只看 User-Agent 一定会被骗,必须做反向 DNS 或官方 IP 段校验。
第七步:输出报告模板
这一步把指标分组,做完你每月能复用同一张表。建议列:日期、爬虫名称、请求数、独立 URL、2xx/3xx/4xx/5xx 占比、平均响应时间、抓取字节、热门目录、重复抓取率、robots 拦截数、sitemap 覆盖数、异常项、负责人、截止时间。用 Google Sheets 时,菜单「数据」>「数据透视表」按爬虫和状态码透视即可。
小结
蜘蛛爬虫分析报告的核心指标是:抓取总量与趋势、状态码分布、响应时间与抓取字节、抓取预算与目录占比、URL 覆盖与 sitemap、robots 拦截、重复抓取率、爬虫身份校验、异常行动项。数据源要用服务器日志加 Google Search Console、Bing Webmaster Tools、百度搜索资源平台交叉验证,别只看一个后台。