中断后不要假设“跑到哪算哪”,也不要直接从头重扫。更可靠的做法是先判断这次扫描属于可续接的批次,还是只能作为样本使用:看扫描是否有稳定的任务标识、导出文件里是否保留了可排序的URL或页面标识、断点前后是否使用同一套参数。满足这三条,已覆盖范围可以按导出记录推算;缺少任何一条,中断前的数据只适合当抽样证据,不适合代表全站。
可续接的中断,通常发生在扫描任务本身有明确进度记录的情况下。比如导出结果里每一行都带URL、状态、抓取时间,且时间戳连续,你就能按时间或URL排序,找出最后一个完整处理的页面,再决定从它之后继续。不可续接的中断,常见于结果只保留了汇总数字、没有逐条记录,或者中断后参数被改过——这时你无法证明剩余页面和已扫页面处在同一口径下。
判断依据可以落到三个可检查的点:
三项都满足,保留原批次并续扫更省成本;只满足第一项,可以把已有记录当作“已覆盖样本”,但不要对外称全站覆盖;三项都不满足,退出这次结果、重新规划扫描范围,通常比修补更可控。
假设一次扫描目标为某个站点的全部栏目页,导出文件中包含URL和抓取时间两列,中断发生在任务进行到一半时。你可以先按URL排序,观察已出现的路径前缀是否覆盖了主要栏目;再按时间排序,找到最后一批写入的记录,把它的时间作为断点。接着用站点地图或站内链接清单,列出尚未出现在导出文件中的路径,两者相减,就得到待补扫范围。
这个动作的结果会直接影响下一步:如果待补扫范围集中在少数几个目录,续扫的代价低,可以保留原批次;如果缺口分散、且无法确认断点后参数一致,继续补扫会把两种口径混在一起,后续分析时很难区分“没扫到”和“扫到但没记录”。这种情况下,退出原批次、按栏目分批重扫,反而更容易解释结果。
需要提醒的是,导出记录为空、抓取量骤降或某个字段突然归零,都不能单独证明扫描已经完成或已经失败。它们也可能是筛选条件过窄、站点临时返回异常、任务被限速等合理解释。要结合断点前后的记录连续性和参数一致性一起看。
个别栏目扫描正常,不能直接推断全站都正常。常见例外是:不同目录的模板不同、分页规则不同、部分页面需要登录或依赖脚本渲染。已扫部分表现良好,只能说明那部分路径在当前参数下可处理;未扫部分是否同样可处理,需要单独验证。
因此,把中断结果用于决策时,先明确它的身份:
保留适用于:断点可定位、参数未变、缺口集中。此时续扫并补记断点信息,是成本最低的路径。改写适用于:原批次记录可用,但参数需要调整,例如抓取深度或URL范围要改。此时不要在原文件上直接追加,而应新建批次并注明差异,避免后续无法区分。退出适用于:记录无法逐条对应页面、断点不可信、或缺口分散到无法解释。退出不是浪费,而是避免把不可比的数据带进后续判断。
无论选哪条路,都建议在结果文件外单独记一行:扫描目标、参数、中断时间、判断依据。这样下一次遇到类似中断时,不必重新猜测当时的口径。具体到某个工具的任务恢复能力、导出字段和保留时长,不同版本可能不同,使用前应以你当前环境中的实际界面和导出结果为准。