关键不是猜“扫到哪了”,而是把中断前已经拿到的结果分成可确认、可推断和不可用三类,再用一次小范围补扫验证推断。下面用一个假设情境说明整套判断动作。假设你用某款写博客工具对旧站做链接与内容体检,扫描到约六成时进程被终止,日志只留下一串已访问地址,没有明确的进度标记。
中断后的结果通常混杂三种记录:已完整返回内容的页面、只建立了连接但未取回正文的页面、以及只出现在待抓队列里的地址。只有第一种能算已覆盖,后两种都要单独列出。判断依据是每条记录是否带有可读的响应状态和正文摘要;如果工具只保存了地址列表,那这份结果只能用于推断覆盖面,不能用于判断页面内容是否合格。
此时可以做一个动作:把结果按“有正文”“无正文”“仅地址”三栏导出,统计各栏数量。这个动作的结果会直接决定下一步——如果“仅地址”占比很高,说明中断发生在抓取早期,推断误差大,应放弃用比例估算覆盖率,改为重新划定小范围补扫。
扫描停止后出现大量未处理地址,原因可能有多种,不能只归给中断本身。常见可区分的情形包括:
区分方法是对照日志时间戳:若最后若干条记录的时间间隔正常,说明是外部终止;若时间戳在同一秒内密集堆叠后突然停止,更可能是写入环节出了问题。两种情况的补救方式不同,前者需要补扫,后者可能只需重新汇总已有数据。
回到前面的假设:假设日志显示中断前已处理约六成地址,且“有正文”一栏占已处理地址的八成。此时不要直接按六成乘以八成估算全站覆盖率,因为未处理部分可能集中在某类模板页面,比例并不均匀。
更稳妥的动作是从未处理地址中按路径前缀抽样,例如各取若干条列表页、详情页和归档页,单独跑一次小范围扫描。若抽样页面的返回情况与已处理部分接近,可以把推断范围扩大到同类路径;若差异明显,就说明中断掩盖了结构性问题,需要按路径分批重扫,而不是一次性全站重来。这个动作的结果决定你是继续用旧结果,还是必须重跑。
这类扫描往往发生在旧内容、旧系统或旧合作关系需要退出的阶段。覆盖范围判断的目的不是追求完整,而是确认哪些页面已经有足够依据支持“保留”或“下线”。
可以按以下顺序处理:先处理已有正文且状态正常的页面,逐条核对是否仍有访问价值和内链入口;再处理无正文的页面,判断是抓取失败还是页面本身已失效;最后处理仅地址记录,这类记录不足以支撑任何决策,应归入待补扫清单。每一步的结果都会缩小下一步的范围,避免在信息不足时做批量删除。
判断结束后,留下一份简短清单即可:已确认覆盖的路径范围、推断覆盖的路径范围及推断依据、明确未覆盖的路径范围、以及补扫后需要复核的条目。清单里对每个范围注明判断时间和所用假设,例如“按路径前缀抽样,样本量小,仅用于决定是否重扫”。
这样做的价值在于,下次扫描中断或换用另一款写博客工具时,你可以直接对照旧清单判断新结果是否一致,而不必从零猜测。覆盖范围始终是带条件的结论,写清条件,结论才可复核。