先不要重新跑一遍全站,也不要默认中断前的结果完整。更可靠的做法是:把这次扫描当成一次“部分样本”,从工具留下的日志、导出文件和任务状态里找出三个边界——最后成功处理的URL、失败或跳过的URL、以及尚未进入队列的URL。只有这三段拼起来,才能判断已覆盖范围够不够支撑你当前的决策。
一次全站扫描通常包含抓取、解析、入库三个阶段。进度条停在同一位置,背后的原因可能完全不同:抓取被网络或反爬拦截、解析阶段因页面结构异常报错、入库阶段因配额或超时中断。判断覆盖范围前,先找到工具给出的任务日志或错误清单,看最后一条成功记录属于哪一类。
如果日志里只有“任务已停止”而没有逐条URL状态,可以借助导出文件反推。多数工具支持导出已抓取URL列表,把它与你的站点URL清单做差集,就能得到未覆盖部分。这个动作的结果会直接影响下一步:差集很小,可以只补跑缺失部分;差集很大且集中在某个目录,说明中断可能由该目录的模板或规则触发,需要先修正规则再重跑。
单一信号容易误导。请求量归零、抓取量下降或某段时间没有新记录,都可能只是队列暂时空闲、限速生效或工具在等待重试,并不能单独证明该范围已经处理完毕。更稳妥的是同时看三类证据:
三类证据一致时,覆盖范围判断才成立。如果状态显示完成,但抽样页面字段大量为空,说明解析阶段实际未覆盖,需要按解析失败重新处理。假设某次扫描导出1万条已处理URL,其中2千条只有状态码没有正文,那么有效覆盖范围应记为8千条,而不是1万条。这个修正后的数字,才是你决定是否补跑的依据。
覆盖范围不是越大越好,而是要看它是否覆盖了你真正要处理的对象。如果这次扫描的目标是清理旧内容、旧系统或旧合作关系留下的页面,那么关键不是全站覆盖率,而是目标集合的覆盖率。
具体做法是:先列出你打算退出或保留的页面清单,再与已处理URL清单求交集。交集覆盖了目标清单的绝大部分,剩余缺口又集中在少数几个模板,就可以先基于已有结果做判断,再对缺口部分单独补扫。反过来,如果目标清单大部分落在未覆盖区域,那么这次扫描结果不能用于决策,必须先解决中断原因再重跑。
这里有一个假设例子:某站点有500个旧产品页需要决定去留,中断后已处理URL中只包含其中120个,且这120个集中在同一个栏目模板下。此时不能根据这120个页面的表现推断另外380个,因为模板差异可能带来完全不同的抓取和解析结果。合理动作是先补扫剩余380个,或者至少按模板分层抽样补扫,再决定哪些页面保留、哪些退出。
直接重跑往往会在同一位置再次中断。补跑前应确认三件事:中断是否由单条URL的异常触发、是否由请求频率或配额限制触发、是否由规则配置错误触发。如果是单条URL异常,可以在规则中排除或单独处理;如果是频率限制,需要调整并发或分批执行;如果是规则错误,应先在小范围验证再全量运行。
修正后的补跑范围应尽量与已覆盖范围衔接,避免重复处理已经完成的URL。多数工具支持按URL清单或时间范围限定任务,具体入口和字段名称因工具而异,需要以你所用工具的当前说明为准。补跑完成后,把新旧两份已处理清单合并,再去重,得到最终覆盖范围。这个合并后的清单,才是后续内容退出决策可以引用的依据。
中断本身不可怕,可怕的是下次遇到同样情况还要重新推断。建议在本次处理结束后,记录中断位置、失败URL特征、修正动作和最终有效覆盖数量。这份记录不需要复杂格式,只要能回答“上次中断时哪些范围可信、哪些不可信”即可。下一次扫描再被中断时,你可以直接对照这份记录,快速判断是沿用已有结果,还是必须补跑。判断已覆盖范围的核心,始终是分清哪些数据已经过验证、哪些只是看起来完成了。