PR查询:一次全站扫描被中断后怎样判断已覆盖范围,矛盾现象:两方看到的“覆盖范围”为什么对不上

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

PR查询:一次全站扫描被中断后怎样判断已覆盖范围,矛盾现象:两方看到的“覆盖范围”为什么对不上

先给结论:中断后不要用“有没有结果”判断覆盖范围,而要用可复核的进度证据。最可靠的做法是找到扫描工具留下的任务记录或日志,确认它已经处理到哪个边界(例如最后一个完成的URL、最后一个成功批次或最后一条时间戳),再拿这个边界与站点的URL清单做差集。如果没有任何进度记录,就只能按最保守的假设处理:把中断前看到的结果视为不完整样本,重新规划一次可分段、可续跑的扫描,而不是直接补跑剩余部分。

矛盾现象:两方看到的“覆盖范围”为什么对不上

常见场景是:执行扫描的人说“已经跑了大半”,使用结果的人却发现某些栏目一个数据都没有。双方都没有说谎,分歧来自对“覆盖”的定义不同。执行方说的覆盖可能指任务进度条走到了某个百分比,使用方说的覆盖指自己关心的那批URL是否都出现在结果里。进度百分比反映的是工具内部的处理节奏,不等于站点结构上的完整覆盖。把这两种口径混在一起讨论,就会陷入各说各话。

要把分歧转成可核对的项目,第一步是让双方各自写下自己判断覆盖范围的依据。执行方写“依据是进度条到70%”,使用方写“依据是产品页目录下没有记录”。两份依据放在一起,就能看出真正需要验证的是进度条与URL清单之间的对应关系,而不是争论谁对谁错。

两种解释:是“接近完成”还是“只覆盖了一个片段”

中断后出现的结果,通常可以归入两种解释。

解释一:任务接近完成,剩余部分影响有限。支持这种解释的迹象是:结果里已经包含站点主要栏目和大部分层级较浅的页面,缺失的集中在深层分页或参数页;任务记录显示处理顺序基本遵循站点结构,中断点靠后。

解释二:任务只覆盖了一个片段,缺失部分可能包含关键区域。支持这种解释的迹象是:结果集中在某一个子目录或某一种页面类型,其他栏目几乎为空;任务记录显示处理顺序是按某种排序(如字母序、入库时间)推进,中断点落在排序靠前的位置,意味着大量URL还没轮到。

两种解释对应的下一步动作完全不同。如果是解释一,补跑剩余部分并核对差集即可;如果是解释二,补跑剩余部分仍然会漏掉排序靠后的整批URL,必须重新设计扫描的分段方式。

能区分两种解释的证据

以下证据可以按可获得性依次检查,每检查一项都会缩小判断范围。

  1. 任务日志或运行记录。查找工具是否输出了已处理URL列表、批次编号或最后成功时间戳。有明确中断点,就能直接与站点URL清单比对,算出真实覆盖率,而不是估计值。
  2. 结果的时间分布。如果结果里的时间戳集中在很短的区间,说明扫描在时间维度上只推进了一小段;如果时间戳跨越较长区间且逐渐稀疏,更可能是接近尾声时中断。
  3. URL的路径分布。把已有结果按目录层级归类。若覆盖了多个一级目录,接近完成的可能更大;若只覆盖一两个目录,片段化的可能更大。
  4. 扫描顺序的设置。确认任务是按站点地图顺序、按链接发现顺序还是按导入清单顺序执行。顺序决定了中断点之后还剩什么,这比进度百分比更有解释力。
  5. 可复现性。用同一份URL清单的一小段重跑一次,看结果是否稳定。如果重跑结果与中断前不一致,说明工具行为本身不稳定,覆盖范围判断需要更保守。

需要提醒的是,抓取量或结果条数突然归零,不能单独证明任务已经处理完某个区域。归零还可能来自限流、超时、解析失败或清单本身就没有该区域URL。把这些可能性排除后,归零才能作为覆盖证据。

一个注明假设的短例子

假设某站点有A、B、C三个一级目录,各含若干页面,扫描任务按目录顺序执行,在B目录中途被中断。此时结果里A目录完整、B目录部分、C目录为空。

如果直接补跑,从B目录中断处继续,那么C目录会被补上,但B目录中断点附近可能因边界处理产生重复或遗漏。更稳妥的动作是:先导出A、B目录已有结果,与完整URL清单做差集,得到“确定未覆盖”的清单;再以这份差集为输入重新扫描,而不是依赖工具自身的续跑功能。这个动作的结果是,覆盖范围从“估计大概到B”变成“有明确差集清单”,下一步的验收就有了可核对的依据。

如果任务日志完全缺失,假设就只能停留在假设层面。此时应把已有结果标注为“不完整样本”,在后续任何基于该结果的判断中都保留这一前提,并重新规划一次带分段和断点记录的全站扫描。

把判断固化成可交接的核对项

多人协作时,覆盖范围的分歧往往在交接环节暴露。可以在交接时固定核对三项:中断点证据(日志、时间戳或批次号)、URL清单版本(扫描时用的是哪一份)、差集结果(哪些确定未覆盖)。三项齐全,接手的人不需要重新猜测;缺哪一项,就在交接记录里标明该项缺失,并说明由此带来的判断限制。

这样做的实际影响是:下一次扫描的设计会更有针对性。如果这次暴露出的是排序导致的片段化覆盖,下次就按目录分段并分别记录断点;如果暴露的是日志缺失,下次就先确认工具能否输出可续跑的进度记录,再决定是否启动全站任务。

图1 图2

nginx