自助建站推广工具:一次全站扫描被中断后怎样判断已覆盖范围

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

自助建站推广工具:一次全站扫描被中断后怎样判断已覆盖范围

结论有条件成立:如果工具在中断前已把每个页面的扫描状态落盘,你就能用“已完成清单+中断点”界定覆盖范围;如果状态只保存在内存或结果页,中断后只能按批次记录倒推,且倒推结论要打折扣。下面把判断方法拆成可核对的动作。

先分清三种“中断”,它们的覆盖含义不同

“扫描被中断”不是一种状态。先确认属于哪一类,再决定是否相信已有结果。

判断动作:打开任务的日志或导出文件,找到最后一条带时间戳的记录。如果日志按页面逐条写入,最后一条就是覆盖边界;如果日志只记“批次开始/结束”,边界会落在批次之间,误差等于一个批次的大小。

用“已扫页面数 ÷ 可枚举页面总数”建立覆盖口径

覆盖范围要能核对,分母必须来自独立于本次扫描的来源。常见做法是从站点地图、栏目列表或数据库里导出全部 URL,再与扫描结果做差集。

假设站点地图列出 1200 个 URL,中断时结果文件里有 740 条记录,其中 12 条是重复或跳转,那么可核对覆盖约为 728 条,剩余约 472 条未覆盖。这些数字只是说明比较方法,实际以你自己的清单为准。

需要注意:差集里可能出现“已访问但未写入”的页面。要区分它们,看工具是否保留请求日志或访问记录;没有这层记录时,差集只能算“未确认”,不能直接算“未覆盖”。

让分歧变成可核对项目的两个证据

多个角色对覆盖范围有不同理解,通常是因为各自看的是不同产物:运营看结果页,技术看日志,负责人看汇总数字。把分歧转成项目,需要两类证据。

  1. 时间边界证据:中断发生的准确时刻,以及该时刻前后各一条日志记录。它回答“扫到哪”。
  2. 集合边界证据:本次扫描的目标 URL 清单,以及结果文件里的 URL 集合。它回答“还差哪些”。

把这两类证据放进同一张核对表,逐行标注“已确认覆盖/未确认/明确未覆盖”。分歧往往在“未确认”这一列上,因为它既不能算完成,也不能直接重扫全部。

一个会让上述结论失效的反例

如果工具采用“先全量抓取、最后统一写入”的模式,那么中断前结果文件为空或只有旧数据,此时按结果条数推算覆盖范围会严重低估。反过来,如果工具边抓边写但按 URL 去重,重复页面被合并,结果条数也会小于实际访问数。

识别方法:查看结果文件的写入时间分布。若所有记录时间集中在中断前几秒,说明是批量写入,条数不能代表覆盖进度;若时间均匀分布,逐条写入的可能性更大。这一步只能缩小判断范围,不能单独证明处理正确。

下一步动作:按“未确认”集合做小批补扫

不要直接重跑全站。先把“未确认”集合拆成小批,每批控制在你能在中断前完成的规模,跑完后立即导出并记录批次号。补扫结果与原有结果合并时,用 URL 作为去重键,保留每个 URL 的最后一次扫描时间。

这个动作的结果会直接影响下一步:如果补扫批次能稳定完成并落盘,说明中断是偶发资源问题,可以继续按批推进;如果同一批反复中断,问题出在工具配置或站点响应,应先调整并发数或超时设置,而不是继续扩大扫描范围。具体工具的参数名称和默认值需要以你当前使用的版本为准核对。

图1 图2

nginx