可复查的状态证据,指别人拿着你的记录就能重新得到同一结论,而不是只看到一句“已控制”或“已封禁”。对爬虫控制来说,最直接的证据来自三类可留存材料:服务器访问日志中与目标爬虫相关的请求记录、这些请求对应的HTTP状态码与响应头、以及robots.txt或WAF规则本身的版本与生效时间。三者能互相对上,才算可复查;只有其中一项,通常只能说明“可能生效”,不能说明“已经生效”。
很多人把“写了Disallow”当成控制完成的标志。实际上robots.txt只是抓取限制的声明,合规爬虫可能遵守,恶意爬虫完全可以忽略;它也不等于索引移除,被限制抓取的URL仍可能因为外链或历史记录出现在结果里。因此,只保存一份robots.txt文本,无法证明爬虫是否真的来过、是否真的被限制。可复查的证据必须包含“请求侧”的记录,而不只是“规则侧”的文本。
在动手前先写下你要验证的具体命题,例如“某爬虫在最近7天内对/product/路径的请求是否返回429或403”。命题越具体,证据越容易复查。建议同时记录以下字段:
Retry-After;如果日志里只有IP没有User-Agent,或者只有User-Agent没有状态码,证据链就是断的。此时应把它标为“待补证”,而不是直接下结论。
单次抓取结果容易受缓存、CDN节点、测试时间影响。可复查的做法是做一次前后对比,并保留原始输出:
判断结果时注意条件:返回403通常表示服务器拒绝,返回429通常表示限流,返回200则说明本次请求未被拦截。但状态码只反映这一次请求,不能推断所有IP、所有路径都被控制。若你用的是搜索引擎官方工具查看抓取统计,要分清那是网页搜索的抓取数据,与平台推荐或付费广告的抓取是不同体系,不能互相替代。
时间和人手有限时,优先保留能独立说明问题的最小集合,而不是导出全部日志。一个可用的最小集合包括:规则文件快照及其哈希、规则生效时间、一段带时间戳的访问日志摘录、对应的状态码统计、以及一份说明“本次结论适用范围”的短备注。备注里要写清哪些路径、哪些时间段、哪些User-Agent被覆盖,哪些没有。这样即使换人复查,也能判断结论是否仍然成立。
如果日志量太大,可以先按状态码聚合,例如统计某路径下403、429、200各自的数量,再抽取少量原始行作为样本。聚合数据用于看趋势,原始行用于验证真实性,两者都要留。
HTTPS只说明传输层加密,不代表站点没有漏洞,也不代表抓取控制已经到位。站点地图提交不保证收录,robots.txt限制也不保证移除索引。不同搜索引擎对同一规则的支持情况可能不同,涉及具体搜索引擎时应分别查看其官方文档并分别留存证据,不要用一份记录推断所有引擎的行为。
下一步建议:先选定一个最需要控制的路径,按上面的最小集合做一次前后对比,把规则哈希、日志摘录和状态码统计放在同一个文件里,标注采集时间与适用范围。之后每次调整规则,都在同一文件追加新记录,而不是覆盖旧记录。