中断后最可靠的判断不是看进度条停在哪里,而是看扫描日志里有没有记录“每个页面已处理”的完成标记。如果日志只记录了开始时间和总页数,没有逐页或逐批的完成记录,那么已覆盖范围只能按“最后一批成功写入的页面”来确认,不能按工具界面显示的百分比推算。
常见情况是扫描被中断后重新打开,界面显示已完成大半,但导出结果里只有少量页面。这时有两种解释都成立:一是工具确实处理了大部分页面,只是结果还没落盘;二是进度数字只代表“已抓取队列”,不代表“已完成分析并写入结果”。
区分这两种解释的关键证据是日志粒度。逐页日志会留下类似 <url, status, timestamp> 的记录,而批次日志只留下 <batch_id, start, end>。前者可以精确圈定覆盖边界,后者只能给出近似区间。
一次全站扫描通常分抓取、解析、筛选、写入四个阶段。中断可能在任何一个阶段发生,而每个阶段对应的“已覆盖”含义不同。
实际动作:打开扫描日志,找到最后一条包含“完成”或“已写入”字样的记录,记下对应的时间戳和页面标识。这个时间点之后的所有页面都视为未覆盖,需要重新处理。这一步的结果直接决定重扫范围是“全站”还是“从某个页面之后”。
单一日志行可能因为缓冲或异步写入而滞后,因此需要交叉验证。
假设一个例子:总页面 1000,日志最后完成记录在第 620 页,但结果表最大 ID 是 580。此时应认为已覆盖 580 页,而不是 620 页,因为第 581 到 620 页可能只完成了抓取,未完成写入。下一步应从第 581 页开始重扫,而不是从第 621 页开始。
如果这次扫描的目的是为旧内容退出做筛选,覆盖范围不完整会直接影响退出决策。已覆盖部分可以按原规则判断保留或退出,未覆盖部分不能默认按“未命中”处理,否则可能误退出仍有价值的页面。
可操作的做法是:先对已覆盖部分执行一次筛选,得到初步保留清单;再对未覆盖部分单独扫描,只应用最关键的退出条件,而不是全量规则。这样即使未覆盖部分的结果粒度较粗,也不会因为规则缺失而错误保留或错误退出。
需要核对的是,具体工具是否支持按页面范围重新扫描、是否保留中断前的临时结果,这些信息需要以该工具当前版本的日志说明或实际测试为准,不能假定所有工具行为一致。
如果退出决策只依赖少量高置信度条件,例如页面是否包含特定链接或是否超过某个更新时间,那么覆盖到大部分页面即可,剩余未覆盖部分可以人工抽查。反之,如果退出决策依赖多条件交叉判断,覆盖不完整会导致结果偏差不可忽略,此时应优先补扫,而不是用近似范围推进。
判断标准是:未覆盖页面在整体中的占比,以及这些页面是否集中在某个目录或模板下。如果未覆盖部分集中在同一类页面,可以单独评估该类页面的退出条件,而不必等待全站补扫完成。