关键词采集工具:一次全站扫描被中断后怎样判断已覆盖范围

📍 WDQWDWQD987AAAAA:216.73.216.195
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /929c97a6a229.html
📄

关键词采集工具:一次全站扫描被中断后怎样判断已覆盖范围

先看采集工具在中断时有没有留下可续跑的进度记录,再按“页面清单、结果落盘、时间戳”三件事交叉判断覆盖范围。没有这三类证据时,只能把已抓到的部分当作抽样,不能当作全站结论。下面以你手里的一份扫描输出文件为对象,说明怎么把它转成可执行的处理方案。

先分清中断发生在哪一层

扫描中断可能发生在三个不同位置,判断方式完全不同:

区分方法很直接:打开输出文件末尾几行,看最后一条记录是否字段完整。如果最后一条缺字段或 JSON 不闭合,说明是落盘层中断,需要从上一个完整记录处截断重来。

用三组证据估算已覆盖范围

不要只凭“抓了多少条”下结论。把下面三组证据放在一起比对:

  1. 待抓清单:扫描前是否导出了 URL 列表或站点地图。有清单才能算覆盖率,没有清单只能算抓取量。
  2. 结果落盘:输出文件里去重后的 URL 数量,以及每个 URL 对应的字段是否齐全。
  3. 时间戳:文件创建时间、最后修改时间、中断时刻。三者能帮你判断中断前实际运行了多久。

假设一份清单有 5000 个 URL,输出文件去重后有 1800 个,且最后一条记录字段完整,那么可以判断覆盖约 36%,剩余部分需要续跑。这个数字只用于说明比较方法,实际比例要以你自己的清单和文件为准。

把扫描输出转成可执行的处理方案

判断完覆盖范围后,下一步不是马上重跑全站,而是先决定哪些部分值得保留。具体动作:

这个动作的结果会直接影响下一步:如果保留候选集中在少数几个栏目,续跑时只需优先补抓这几个栏目,不必重跑全站。如果保留候选分散,才需要考虑完整续跑。

续跑前必须确认的两个条件

续跑不是简单点一下继续。先确认:

工具是否支持断点续跑。有些工具会记录已完成的 URL,续跑时自动跳过;有些不支持,只能全量重来。具体行为需要在你使用的工具里核对,不能凭印象判断。

目标站点是否允许再次抓取。如果中断原因是目标站点限流或拒绝,直接续跑可能再次失败。此时应先降低请求频率或分批处理,再决定续跑范围。

旧合作关系或旧系统退出场景下,还有一个取舍:如果保留候选只占已覆盖范围的一小部分,而续跑成本很高,可以先基于已有部分做退出决策,把未覆盖部分标记为“待确认”,而不是强行补全。这不会让结论更准确,但能避免为了完整性拖延实际处理。

一个可复用的判断顺序

把上面的步骤固定成一个顺序,下次中断时直接套用:

  1. 检查输出文件末尾是否完整,判断中断层级。
  2. 用待抓清单和去重结果算覆盖率。
  3. 按栏目统计有结果和无结果的比例。
  4. 标记保留候选和退出清单。
  5. 确认工具续跑能力和站点限制,再决定续跑范围。

这套顺序不依赖具体工具品牌,换一个采集工具同样适用。唯一需要每次核对的是工具自身的进度记录方式和输出格式,这两项在不同工具之间差异较大,不能直接套用。

图1 图2

nginx