先看中断前是否留下了可对齐的进度锚点,再看已扫对象能否与站点清单逐条核对。如果两者都有,按清单差额补扫;如果只有零散日志或界面提示,不要把它当成覆盖完成,应重新划定扫描边界后再跑。
全站扫描通常有三层进度:待处理队列、正在处理的页面、已产出结果的页面。中断时这三层可能不同步。你要先拿到中断前最后一次完整写入的记录,再拿它和扫描任务启动时的初始清单比对。初始清单是判断覆盖范围的分母,没有它,任何“大约扫了多少”都只是估算。
可区分的原因有几种:
这三种原因对应的下一步完全不同。第一种只需补结果校验,第二种需要按差额续扫,第三种要先处理失败原因再决定是否重扫。
把扫描启动时保存的URL清单导出为一份可排序的文本或表格,再把中断前已产出结果的记录导出为另一份。两份都按规范化后的URL排序,逐行比对。能对上的,标记为已覆盖;只出现在初始清单里的,标记为未覆盖;只出现在结果里的,标记为异常来源,单独核查。
假设一个站点初始清单有 1200 条URL,中断前结果记录有 480 条,其中 12 条URL不在初始清单中。那么有效已覆盖是 468 条,未覆盖约 732 条。这个数字只是按当前两份文件算出的差额,不代表站点真实总量,也不代表未覆盖页面一定有问题。它的作用是决定下一步补扫的起点,而不是给出结论。
实际动作:把差额清单单独存为一个待处理文件,先只对未覆盖部分发起续扫,不要全站重跑。续扫完成后,用同一份初始清单再比对一次。如果第二次比对仍有缺口,说明问题在清单本身或抓取条件,而不是中断本身。
扫描工具显示“已完成”或进度条走到末端,不等于所有页面都产出了可用结果。请求量归零、抓取队列为空、日志停止增长,都可能有别的解释:任务被暂停、目标站点返回统一拦截、结果写入失败但队列已清空。这些现象只能说明某个环节安静下来,不能单独证明覆盖正确。
同样,已覆盖数量很大也不代表覆盖范围合理。如果初始清单本身漏掉了一部分栏目或参数页,扫描再完整也只是在错误的分母上完成。判断覆盖范围时,要同时看分母是否可信、已扫记录是否可核对、失败项是否被单独归类。
如果变化发生在扫描之前,比如站点结构改版、URL规则调整、新增了一批栏目,那么旧的初始清单已经不能作为分母。此时应重新生成清单,再决定是续扫还是重扫。如果变化发生在中断之后,比如目标站点临时限制访问,那么先不要扩大扫描范围,等访问条件恢复后再按原清单补扫。
两种成立条件可以这样区分:
把这两条写进处理方案,后续无论谁接手,都能从同一份清单和同一份结果记录继续,而不是凭界面提示猜测进度。具体工具是否提供清单导出、断点续扫或失败项单独归类,需要以你实际使用的版本和当前界面为准核对。