关键词搜索工具:一次全站扫描被中断后怎样判断已覆盖范围

📍 WDQWDWQD987AAAAA:216.73.217.33
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /2304028895dc.html
📄

关键词搜索工具:一次全站扫描被中断后怎样判断已覆盖范围

先看扫描日志里最后一次成功提交的页码或URL前缀,再和任务配置的总范围做差集,这样能给出一个可核对的最小覆盖边界。如果连日志都没有,就只能退回到抽样验证:用已知存在于站内的若干URL去查询工具的历史记录,看哪些有结果、哪些没有。无论哪种情况,中断时的覆盖范围都只能作为“下限”使用,不能当成全量结果对外汇报。

有日志或进度记录时,先锁定断点而不是重跑

支持断点信息的工具通常会在任务详情里留下已处理数量、当前页码或最后一条成功记录。此时不要急着点重新开始,因为重跑可能覆盖掉原有进度,也可能因为配额或频率限制再次中断。正确动作是导出或截图当前进度,记录断点位置,然后判断剩余范围是否值得续跑。

判断依据可以拆成三点:

一个注明假设的短例子:假设某工具配置扫描1000个URL,日志显示成功处理到第620个后因网络错误停止。此时可以把前620个视为已覆盖,但第600到620之间如果有连续失败记录,就要把这20个单独列入待补清单,而不是笼统算进已覆盖。

没有日志或权限受限时,用抽样反推覆盖边界

很多情况下读者拿不到任务日志,或者只有查看结果的权限,没有查看任务配置的权限。这时不能凭空推断覆盖率,只能构造一组已知URL做验证。动作是:从站点地图、导航结构或已有链接中挑出分布在不同层级的若干URL,逐个在工具里查询是否出现过记录。若高层级页面普遍有记录、深层页面普遍没有,说明扫描很可能停在浅层阶段。

抽样结果能支持的结论只有一条:某些URL确定被处理过。它不能推出“未出现在结果里的URL一定没被扫描”,因为工具可能扫描了但未收录、未索引或未返回结果。请求量或抓取量归零也不能单独证明扫描已完整结束,还可能是任务被限流、被暂停或结果尚未回写。

两种条件下的不同选择

条件一:能拿到断点信息,且剩余范围不大。此时优先续跑或补跑剩余部分,而不是全量重来。续跑前先确认工具是否支持从指定位置继续;若不支持,就把剩余URL单独建一个小任务,避免影响已有结果。

条件二:拿不到断点信息,或权限只允许看结果。此时不要尝试猜测覆盖率,而是把当前结果当作一个带明确边界的样本使用。具体动作是:在后续报告或决策文档里写明“本次结果基于中断前的部分扫描,覆盖范围未验证”,并列出抽样验证过的URL作为可信锚点。下一步再决定是否申请更高权限或换用支持进度记录的方式重新执行。

哪些例外会让覆盖判断失效

即使有断点记录,以下情况也会让“已覆盖”这个结论打折扣:工具在中断前已经进入结果去重或合并阶段,断点记录的是原始抓取量而不是最终可用结果量;站点在扫描期间发生了结构变更,前后页面集合不一致;工具对部分URL返回了错误但未计入失败数。遇到这些例外,应把覆盖范围标注为不确定,而不是强行给出一个百分比。

最后一步动作很简单:把断点位置、抽样验证结果和例外说明写进同一份记录,供下一次扫描时对照。这样即使本次中断,下一次也能从明确的边界继续,而不是从头猜测。

图1 图2

nginx