结论先行:中断后不要用“已抓取数量”判断覆盖范围,而要用“任务检查点+已落盘结果+未处理队列”三段证据交叉确认。只有三者能对齐时,才可把已覆盖范围当作可信基础;否则应把中断前的数据视为不完整样本,重新规划剩余任务。
全站扫描通常边抓取边写入结果,中断可能发生在三个不同位置:请求已发出但结果未落盘、结果已落盘但未计入统计、统计已更新但队列未标记完成。这三种情况下,界面显示的数字与实际可用数据并不一致。
因此,判断覆盖范围前先确认数据存储方式。如果工具支持断点续跑,检查点文件会记录最后完成的批次;如果只输出汇总报表,则只能从结果行反推覆盖对象。两者证据强度不同,后续动作也不同。
实际动作:先导出中断前已落盘的结果,按目标对象去重计数,再与任务日志中的“已处理”条目比对。若两者差异超过可接受阈值,说明存在未落盘或重复写入,不能直接续跑。
把覆盖范围拆成三个可核对的层次,比单看一个数字可靠:
当检查点位置与落盘结果的最大批次一致,且未处理队列能补齐总目标时,已覆盖范围才可判定为完整。若检查点缺失,只能用落盘结果的最大批次作为保守起点,并接受可能重复抓取一部分目标。
假设某次扫描在完成约六成目标后中断,结果表里恰好包含全部高价值页面,于是判断“核心已覆盖,剩余可忽略”。这个结论在以下情况会失效:中断发生在写入阶段,部分高价值页面的结果只写入了标题字段,外链明细为空。此时结果表看起来完整,实际字段缺失,后续分析会得出错误结论。
因此,除了数量对齐,还要抽查若干条记录的字段完整度。字段缺失比例高时,应把对应批次标记为待重跑,而不是继续使用。
按以下顺序处理,避免在不可信数据上继续叠加:
这样处理的直接结果是:续跑范围以“字段完整”而非“数量达标”为准,下一步的导出与分析才不会混入半成品记录。若工具本身不提供检查点或字段级校验,就需要在外部维护一份目标清单和完成标记,把覆盖判断从工具界面转移到你可控的记录中。