先看中断前是否留下了逐页或分批的结果,再决定是续跑还是重跑:如果工具按URL逐条返回且你能导出已完成部分,已覆盖范围通常可以用“成功返回的URL集合”来界定;如果只有汇总数字、没有明细,中断后的汇总值往往不能直接当作覆盖范围。一个会让上述判断失效的反例是分页或游标查询:即使前几页成功返回,也不能推断中间没有遗漏,因为排序变化、超时重试和并发抓取都可能让同一页在不同批次里覆盖不同对象。下面按可操作的判断顺序展开。
同样是扫描被中断,留下证据的方式差别很大,判断方法也不同。
判断时优先找“对象清单”而不是“数量”。数量相同不代表对象相同,尤其在并发抓取时,重复请求会占用名额,让实际覆盖对象少于计数。
不要只看总数。下面几组证据能互相校验,出现矛盾时以更细的那组为准。
这里有一个假设例子:假设提交1000个URL,扫描中断后导出成功记录800条,去重后唯一URL为760个。那么未确认覆盖至少是240个,而不是200个,因为40条是重复请求。这个差值会直接决定下一步是补跑240个还是重跑全部。
续跑成立需要同时满足:对象清单可稳定复现、结果字段结构未变、中断点之后没有依赖前面状态的逻辑(例如累计统计、跨页关联)。只要有一条不满足,续跑就可能产生拼接错误。
典型的必须重跑情形:
反过来,如果工具明确支持断点续跑、且你能验证续跑批次与已完成批次的对象不重叠,那么补跑未完成部分是更省时间的选择。是否支持、如何触发,需要以你所用工具的当前说明为准,不同工具差异较大。
在补跑或重跑之前,取未确认覆盖部分中约二三十个对象做一次小范围校验,记录成功数、失败原因和字段完整度。如果这批的成功率和字段完整度与中断前一致,可以按补跑处理;如果明显偏低,说明中断可能伴随环境问题(如限流、凭证失效),此时重跑并调整请求节奏更稳妥。这个校验结果直接决定后续是补跑剩余对象,还是先解决环境问题再全量重来。
最后提醒一点:请求量、抓取量归零或某项计数突然下降,都不足以单独证明覆盖正确。它也可能是限流生效、任务被暂停或数据尚未落盘。把计数与对象清单、时间戳、字段完整度三者交叉核对,才能对已覆盖范围给出可靠结论。