先看采集工具在中断时有没有留下可续跑的进度记录,再按“页面清单、结果落盘、时间戳”三件事交叉判断覆盖范围。没有这三类证据时,只能把已抓到的部分当作抽样,不能当作全站结论。下面以你手里的一份扫描输出文件为对象,说明怎么把它转成可执行的处理方案。
扫描中断可能发生在三个不同位置,判断方式完全不同:
区分方法很直接:打开输出文件末尾几行,看最后一条记录是否字段完整。如果最后一条缺字段或 JSON 不闭合,说明是落盘层中断,需要从上一个完整记录处截断重来。
不要只凭“抓了多少条”下结论。把下面三组证据放在一起比对:
假设一份清单有 5000 个 URL,输出文件去重后有 1800 个,且最后一条记录字段完整,那么可以判断覆盖约 36%,剩余部分需要续跑。这个数字只用于说明比较方法,实际比例要以你自己的清单和文件为准。
判断完覆盖范围后,下一步不是马上重跑全站,而是先决定哪些部分值得保留。具体动作:
这个动作的结果会直接影响下一步:如果保留候选集中在少数几个栏目,续跑时只需优先补抓这几个栏目,不必重跑全站。如果保留候选分散,才需要考虑完整续跑。
续跑不是简单点一下继续。先确认:
工具是否支持断点续跑。有些工具会记录已完成的 URL,续跑时自动跳过;有些不支持,只能全量重来。具体行为需要在你使用的工具里核对,不能凭印象判断。
目标站点是否允许再次抓取。如果中断原因是目标站点限流或拒绝,直接续跑可能再次失败。此时应先降低请求频率或分批处理,再决定续跑范围。
旧合作关系或旧系统退出场景下,还有一个取舍:如果保留候选只占已覆盖范围的一小部分,而续跑成本很高,可以先基于已有部分做退出决策,把未覆盖部分标记为“待确认”,而不是强行补全。这不会让结论更准确,但能避免为了完整性拖延实际处理。
把上面的步骤固定成一个顺序,下次中断时直接套用:
这套顺序不依赖具体工具品牌,换一个采集工具同样适用。唯一需要每次核对的是工具自身的进度记录方式和输出格式,这两项在不同工具之间差异较大,不能直接套用。