先看扫描器是否留下了可续跑的进度记录,再决定保留、改写还是退出。如果进度文件记录了已完成队列和当前游标,保留并续跑通常比重新全扫更省资源;如果只中断在日志里、没有可恢复状态,那么已覆盖范围无法可靠重建,应把这次结果降级为线索,而不是结论。
全站扫描的覆盖范围由三个变量共同决定:抓取队列的推进位置、每个URL的处理状态、以及中断时正在写入的批次。三者中任意一个缺失,覆盖范围就只能估算。
判断属于哪一种,最直接的动作是查看扫描器的工作目录或数据库中是否存在进度表、队列快照或检查点文件。存在检查点且时间戳与中断时刻接近,说明覆盖范围可续;只有一份汇总日志,说明只能估算。
不要凭“扫了多久”推断覆盖范围。时间长短受站点响应速度和并发限制影响,与覆盖量没有稳定关系。可核对的证据有三类:
假设一次扫描计划处理一万个URL,中断时日志显示已处理六千,其中四百个因超时被跳过。那么有效覆盖是五千六百,而不是六千。这个差额会直接影响下一步:如果有效覆盖已覆盖主要栏目,可以针对剩余部分做增量扫描;如果有效覆盖集中在低价值页面,续跑的意义就不大。
已覆盖范围确定之后,处理方式取决于剩余工作的价值和重跑成本。
保留并续跑适用于:检查点存在、剩余URL仍属于本次分析目标、且站点在这段时间内没有发生结构性改版。续跑前先确认游标指向的位置没有因为页面增删而错位,否则会出现漏扫或重复扫。
改写扫描范围适用于:剩余URL数量大但优先级低,或者中断原因是目标站点对高频请求做了限制。此时把全站扫描改成按栏目、按模板或按优先级分批扫描,每批独立记录覆盖范围,中断的影响就被限制在单批之内。这个动作的结果是:后续任何一批中断,都不需要重新判断全站覆盖,只需判断该批覆盖。
退出本次结果适用于:没有检查点、日志不足以重建队列、且已覆盖部分集中在重复模板页。在这种情况下,基于不完整数据得出的结论可能误导后续决策,重新组织一次范围更小、目标更明确的扫描比修补旧结果更可靠。
无论选择保留还是改写,续跑前都要确认扫描目标在中断期间是否发生变化。页面新增、删除或改版会让旧游标失去参照。核对方法是:抽取中断点前后各若干条已记录URL,重新请求并比对状态码、标题或内容指纹。如果差异集中出现,说明站点已变动,续跑需要重置游标或重新生成队列。
这一步的结果决定下一步:指纹一致,可以按原队列续跑;指纹大面积不一致,应放弃旧队列,用当前站点结构重新生成扫描范围,并把旧结果仅作为历史参考。
判断完成后,把本次实际覆盖的URL数量、跳过数量、未覆盖区间和判断依据写进扫描记录。下次中断时,这份记录就是最快的参照。覆盖范围一旦可追溯,保留、改写或退出的决定就不再依赖印象,而是依赖可核对的数字和边界。