先别急着重跑。中断扫描后,判断覆盖范围的关键不是看工具是否提示“完成”,而是看它有没有留下可核对的进度证据:已处理条目清单、断点位置、时间戳或分批记录。若这些证据能对应到具体URL或目录,就保留现有结果并从中断处续扫;若只剩一个总数,通常要改写任务,把它拆成可单独完成的分段扫描。
全站扫描通常包含三层:抓取队列、解析规则、结果落盘。中断发生在哪一层,决定了已覆盖范围能不能被信任。
一个实际动作:先打开结果文件的最后几行,看最后一条记录是否有完整字段和结束标记。如果最后一条是半截记录,说明落盘层被截断,之前的完整记录仍可保留,但最后一条不能计入覆盖范围。这个判断会直接影响下一步:是从最后一条完整记录之后续扫,还是从更早的批次重新开始。
能帮你圈范围的证据,通常只有这几类:
假设一个场景:待扫清单有1000条URL,结果文件里有完整记录的URL是620条,最后一条是半截记录,日志显示中断前正在处理第621条。那么可保留的覆盖范围是620条,第621条要重扫。这个数字只是用来说明比较方法,不是任何工具的实际表现。
保留现有结果并续扫,适用于断点明确、结果文件完整、且续扫不会重复写入同一条URL的情况。前提是你能确认工具支持从指定位置继续,或者你能手动把待扫清单裁掉已覆盖部分。这个动作的结果是:覆盖范围可累加,但你要额外做一次去重核对。
改写任务为分段扫描,适用于中断原因不明、断点不可靠、或单次任务规模已经超出稳定处理能力的情况。做法是按目录、按URL前缀或按数量上限拆成多个小任务,每个任务单独完成、单独落盘。代价是管理成本上升,但每段的覆盖范围变成可独立验证的,不会再被一次中断全部拖累。
退出当前结果、整体重扫,只适用于结果文件已损坏、字段大面积缺失、或你无法确认任何一条记录完整性的情况。它的前提是重扫成本低于核对成本。如果站点规模大、抓取有频率限制,整体重扫往往不是首选。
有几个信号容易被误读:
这些现象只能作为线索,不能单独作为结论。把它们和URL差集、最后一条完整记录、分批文件三者交叉核对,才能得到可用的覆盖范围。
按这个顺序做,能最快得到可决策的结论:
如果差集很小且字段完整,续扫是成本最低的选择;如果差集大、字段缺失多,或中断原因指向任务规模本身,就应改写为分段扫描再继续。判断的依据始终是可核对的记录,而不是工具给出的单一进度数字。