内容改写工具一次全站扫描被中断后怎样判断已覆盖范围

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

内容改写工具一次全站扫描被中断后怎样判断已覆盖范围

先给结论:中断后不要从“扫描到第几个页面”推断进度,而要利用工具留下的逐条处理记录、日志或导出文件,按URL清单与状态字段重建覆盖边界。如果这些记录缺失,只能把中断前最后一次完整状态快照当作可信范围,其余部分按未覆盖处理。下面用一个假设情境串起判断过程。

假设情境:扫描到一半进程被杀,先分清三种中断形态

假设你用一款内容改写工具对约两千个页面做全站扫描,任务进行到中途被手动终止或进程崩溃。此时“已覆盖范围”取决于中断发生在哪一层:

判断前先确认中断形态,否则会把“取回但未改写”误当成已完成。

用去重键和状态字段重建覆盖边界

多数内容改写工具在批量任务中会为每个URL保留一条状态记录,常见字段包括待处理、处理中、已完成、失败。中断后先导出这份记录,按状态分组计数,再与全站URL清单做差集。差集里的URL就是未覆盖部分。需要核对的点是:工具的去重键是原始URL、规范化URL还是正文哈希。如果键是正文哈希,同一页面改版后会重新进入队列,覆盖范围就要按内容而非按地址统计。具体字段名称和导出方式因工具而异,需要以你所用工具的当前文档为准。

缺少逐条记录时,退回到快照比对

如果工具只保留汇总进度、不保留逐条状态,或者日志已被覆盖,可行做法是找中断前最近一次完整导出或快照,把它当作可信边界。以假设为例:上午十点导出过一次结果,共一千二百条;中午中断,之后没有任何新落盘记录。那么可信覆盖就是这一千二百条,其余按未覆盖重跑。重跑时打开工具的去重或跳过已完成选项,让已覆盖部分被自动略过,避免重复消耗。这个动作的结果直接决定下一步:若去重生效,只需补跑差集;若去重失效,就要先备份现有结果再全量重跑。

验证覆盖范围的两个可观察信号

重建边界后,用两个信号交叉验证,而不是只信一个数字:

  1. 抽样比对:从“已完成”里随机取若干条,确认改写结果确实存在且对应正确页面;再从差集里取几条,确认它们没有被改写。
  2. 计数守恒:已完成数加失败数加待处理数应等于全站URL总数。若对不上,说明有记录丢失或重复计数,覆盖判断不可靠。

要注意,抓取量或处理量归零并不单独证明任务已完成,也可能是队列被清空、权限失效或进程提前退出,需要结合日志时间戳判断。

决定重跑范围前要确认的一个条件

是否值得精确重建边界,取决于重跑成本与漏改风险的比较。如果全站规模小、改写调用成本低,直接全量重跑并开启去重,往往比逐条核对更快。如果规模大、调用有配额限制,就必须先重建边界再补跑差集。无论选哪种,先备份中断前的结果文件,再执行下一步,这样即使去重逻辑与预期不符,也能回退到已知状态。工具的具体功能、配额和导出方式需要按你实际使用的版本核对,不要依赖记忆中的旧界面。

图1 图2

nginx