中断后不要凭“跑了多久”估算覆盖范围,而要把扫描配置、已产出记录和站点自身结构三份证据对齐:先看中断发生在哪个阶段,再看已落盘的数据能否按URL清单去重还原,最后用少量手工抽检验证边界。只有三份证据能相互印证时,才适合把已覆盖部分当作后续决策的依据;否则应缩小范围重跑,而不是在残缺数据上继续分析。
同一个“扫描到一半停了”,对覆盖范围的含义完全不同。抓取阶段中断,意味着部分URL根本没被访问;解析阶段中断,意味着页面已取回但结构化结果不完整;写入阶段中断,则可能是数据已生成但没保存或只保存了一部分。判断顺序应是先定位阶段,再谈覆盖。
假设一次扫描配置了全站URL清单,任务在运行到某个时间点被手动终止。此时如果日志显示最后阶段是“解析完成、写入未确认”,那么已抓取的页面数可能大于已保存的结果数。下一步动作应是导出已保存记录、按URL去重计数,再与配置的URL清单求差集,得到“疑似未覆盖”集合。这个差集不是最终结论,而是下一轮补扫的输入。
判断覆盖范围最可靠的参照物,是扫描前是否有一份独立的URL清单,例如站点地图、栏目页链接集合或数据库中的内容表。没有这份清单,就只能靠扫描结果自身推断,容易把“未发现”误当成“已覆盖”。
核对时可以按三步走:
第一类可能来自清单本身不完整,第二类才是真正需要补扫的部分。若“在清单但未处理”的数量很少且集中在某个目录,通常说明中断点靠近该目录的遍历顺序末尾;若分散在全站,则更可能是抓取调度被打断,而非清单问题。这个区分会直接影响下一步:前者可以只补扫该目录,后者建议重跑全量或按分片重跑。
很多人中断后随便抽几个页面看是否能打开,这只能验证连通性,不能验证覆盖范围。更有效的抽检应集中在边界附近:中断前最后一批成功处理的URL、差集中排在最前的URL、以及结构上与已覆盖页面相似的URL。
假设差集里有100个URL,其中80个属于同一个分页系列。抽检时优先取该系列的首尾页和中间一页,确认它们是否真的未被处理,还是只是结果未写入。如果首尾页在已保存结果中其实存在,只是时间戳较早,那么差集本身可能因去重规则或清单版本不一致而失真。此时应先修正清单,再决定是否重扫,而不是直接启动一次全量任务。
抽检结果对下一步的影响很直接:边界URL确实缺失,就按差集补扫;边界URL其实已覆盖,就回到清单核对环节,检查是否是URL规范化规则不一致导致同一页面被当成两个地址。
请求量归零、抓取速度下降或某段时间没有新记录,都不能单独说明扫描已停止或覆盖已完整。它们还有别的合理解释:站点限速导致请求排队、解析线程阻塞、写入缓冲未刷新、或者任务只是进入了等待重试状态。
反过来,记录数突然增加也不等于覆盖范围扩大,可能只是重复抓取或分页参数变化产生了新URL。要区分这些解释,需要把请求日志、结果记录和URL清单三者放在同一时间轴上比对,而不是只看单一指标。若三者对不上,优先怀疑数据口径,而不是直接下结论。
完成上述核对后,应输出一份明确的补扫清单,而不是一个模糊的“覆盖率百分比”。清单里至少包含:待补扫URL、每条的来源(差集还是抽检发现)、以及是否属于同一目录或同一模板。这样下一轮任务可以只针对该清单运行,减少重复工作。
同时记录本次中断的阶段和原因,作为下次配置分片大小的依据。若中断频繁发生在解析阶段,可以考虑把任务拆成更小的批次;若发生在写入阶段,则应先确认存储和导出方式是否支持断点续存。具体到奇奇seo优化软件这类工具,不同版本对断点续跑和结果导出的支持情况可能不同,实际能力需要以你所用版本的说明和实测为准,不能默认所有版本行为一致。
最终判断标准很简单:当你能用独立URL清单解释每一条已保存记录和每一条缺失记录时,已覆盖范围才是可用的;否则它只是一份不完整的过程数据,适合用来定位问题,不适合用来做站点级结论。