有条件的结论是:如果扫描工具在中断时留下了可读的进度记录或分批结果,你可以按“已完成批次+边界样本”估算覆盖范围;但如果它只输出最终汇总、中途没有落盘,那么中断后能确认的覆盖范围通常接近于零,只能重跑或改用分批策略。判断的关键不是看已抓到多少条,而是看每条结果是否带有可核对的来源标识和抓取时间。
全站扫描通常分三层:待抓队列、已抓页面、已解析结果。中断可能只打断其中一层。
实际动作:先找到工具的输出目录或任务记录,确认是否存在分片文件、断点文件或日志。如果只有一份最终结果文件且没有时间戳,下一步就应放弃估算,直接改为分批扫描。
假设你有一份站点地图,共列出若干条目,扫描中断后你手上有一批结果。可以抽取三类样本做交叉核对:
如果样本显示结果集中在站点地图前段,且后段完全没有记录,那么可以合理判断覆盖范围止于前段。反过来,如果结果分散在整个站点地图但总量偏少,说明中断可能发生在解析或写入阶段,而不是抓取阶段。
如果工具采用并发抓取且结果写入顺序与抓取顺序无关,那么“结果集中在前段”就不能证明后段未覆盖。并发场景下,后段页面可能已被抓取,只是尚未写入或写入失败。此时唯一可靠的依据是请求日志中的 URL 列表,而不是结果文件的排列顺序。没有请求日志时,任何按顺序推断覆盖范围的做法都不成立。
判断清楚后,选择取决于两个条件:
实际动作:无论续跑还是重跑,都先把任务拆成可独立完成的小批次,每批结束后立即落盘并记录批次编号与时间。这样下一次中断时,覆盖范围可以直接按已完成批次读取,不再依赖推断。
如果这次扫描的目的正是清理旧内容、旧系统或旧合作关系,覆盖范围判断会直接影响取舍。已确认覆盖的页面可以进入评估清单;未确认覆盖的页面不应因为“没出现在结果里”就被直接删除。更稳妥的做法是:先对已覆盖部分做价值判断,保留仍有访问、仍有引用或仍有业务依赖的页面;对未覆盖部分单独补扫一次,再决定是否退出。这样既不会因一次中断误删有价值内容,也不会让旧内容无限期滞留。