为什么入口页的“蜘蛛访问”经常是假的
翻日志时,很多人只要看到 User-Agent 里带 Googlebot、Baiduspider,就记一次抓取。但 UA 是请求头里最容易改写的字段,一个采集脚本、一个监控探针都能写上同样的字符串。把伪蜘蛛当真蜘蛛,会带来两个错误判断:一是以为抓取量还不错,二是按这个量去调整入口页的数量和更新节奏,方向从一开始就偏了。所以在谈收录和抓取量之前,先把来访者身份分清楚。
UA 只能当线索,不能当证据
UA 的价值在于分流:先按 UA 把日志切成几组,再对可疑的那一组做进一步校验。常见的伪造特征是:
- UA 写得过于简短,缺版本号与平台标记,例如只有一个“Googlebot”;
- UA 与请求内容矛盾,声称是移动端蜘蛛,却只请求桌面版路径;
- 同一个 IP 在几分钟内轮换多个搜索引擎的 UA;
- 拼写错误,或使用早已停用的标识。
这些只能用作筛选条件,不能单独下结论,因为真蜘蛛的 UA 也会随版本更新变化。
IP 反查:普通手段里最靠谱的一步
反向解析与正向解析要成对做
拿到可疑 IP 后先做反向解析(PTR),看域名是否落在搜索引擎自己的域下;再对得到的域名做一次正向解析,确认能解析回同一个 IP。只有正反一致,基本可以认定为真。只看 PTR 容易被伪造的记录骗过去。
对照官方公布的 IP 段
主流搜索引擎会公布抓取 IP 段,可以定期拉取并本地比对,用脚本匹配比手工查询现实得多。对不上的先归入“待确认”,不要急着当伪蜘蛛删掉——CDN 回源、代理转发都可能让源站看到的 IP 是中间节点的地址。
行为特征:真蜘蛛的爬行习惯
- 抓取资源类型:通常先抓 HTML,是否加载 CSS、JS 取决于渲染能力,但不会像浏览器那样把全部资源拉一遍。
- 并发与节奏:单 IP 并发一般不高,速度受站点响应与配额影响。
- 参数与 Cookie:很少带业务参数,也不维持登录态。
- 路径规律:顺着链接、sitemap、提交记录走,路径之间有迹可循;伪蜘蛛往往按字典顺序扫。
几种容易被误判成伪蜘蛛的情况
- 站点接了 CDN 或反向代理,源站看到的全是中间节点 IP;
- 使用了服务端渲染或预渲染服务,其访问特征与真蜘蛛接近;
- 自己配置的可用性监控、DNS 预取、内容校验脚本;
- 移动端与桌面端使用不同 UA,被错误归入伪造组。
做判断前,先确认自己在链路上加了哪些中间层,否则很容易把自家服务当成伪蜘蛛。
实操:把日志做成分层
- 按 UA 分组,统计各组的请求量、独立 IP 数和访问路径分布;
- 对每组做 IP 反查与官方 IP 段比对,标记“确认、待确认、疑似伪造”;
- 对疑似组的路径做抽样,看是否命中不存在的目录、参数,或出现明显的字典扫描;
- 把确认组单独建一份抓取统计,用它评估入口页的抓取状况,其余组只做参考。
分层的好处是,后续调整入口页数量、更新频率时,依据的是可信数据,而不是被伪蜘蛛抬高或压低的数字。
识别真假蜘蛛只是基础工作,它不能保证抓取量提升,也不能保证 URL 被收录。它的意义在于让判断有依据,避免在错误的数据上做决策。