先别急着重跑全站。中断后判断覆盖范围,要把“已完成的任务记录”和“实际取到的结果”分开看:前者说明软件认为跑到哪里,后者才决定你能不能用这批数据。只有两者对得上,且断点前后的查询参数一致,才适合保留并续跑;否则应放弃这批结果,缩小范围重扫。
全站扫描被中断的原因不同,判断方式也不同。第一种是软件自身停止或崩溃,任务记录可能停在某个网址,但结果未必全部写盘。第二种是网络或目标站点限流,部分请求失败,软件可能跳过失败项继续往下。第三种是你主动停止,任务状态明确,但缓存里可能混有上一轮的数据。
这三种情况下,最危险的是第二种:失败项被静默跳过,表面看扫描“跑完了”,实际覆盖有缺口。所以第一步不是看进度百分比,而是找失败记录或错误日志。
要判断覆盖到哪,至少需要三样东西互相对照:任务日志里的最后处理位置、结果文件里的最大网址序号或时间戳、以及失败清单。三者一致,说明覆盖范围可信;三者矛盾,说明数据不完整。
如果软件不提供失败清单,只给一个总数,那这批数据的覆盖范围就无法核实。此时应把它当作不完整结果,而不是“差不多能用”。
判断完覆盖范围后,决策分三种。
保留并续跑的前提是:断点位置明确、失败项可单独列出、且续跑时的查询参数(地区、设备、语言、匹配方式)与中断前完全一致。满足这些,可以从断点继续,不必重扫已覆盖部分。
改写范围后重扫的前提是:中断由限流或超时引起,且失败集中在某类网址或某个目录。这时应缩小到失败集中的部分单独跑,而不是全站重来。例如假设某次扫描中断后,失败记录集中在带参数的筛选页,那就只对这些页面降低并发、延长间隔重跑,其余已成功部分保留。
退出这批数据的前提是:日志与结果对不上,或查询参数在中途被改过。此时已覆盖范围无法界定,继续用只会把不完整数据当成全量结论。退出不是失败,而是避免用错数据做决策。
这个顺序的关键在第2步:很多人只看日志就以为覆盖完整,但结果文件才是实际拿到的数据。两者不一致时,以结果文件为准。
即使覆盖范围确认完整,中断也可能影响数据的时间一致性。如果扫描跨越了较长时间,断点前后的排名可能来自不同时刻,直接合并会掩盖波动。这种情况下,应把断点前后的数据分开看,或只使用同一时间段内的部分。
另外,某次扫描的请求量或抓取量归零,并不能单独证明覆盖完整或处理正确。它也可能是目标站点暂时不可达、软件被限流,或任务根本没启动。要结合失败清单和结果文件一起判断,而不是只看一个计数。
最后,具体软件是否提供断点续跑、失败清单导出或参数锁定,需要以你所用工具的当前版本为准,不同工具差异较大。判断覆盖范围的方法通用,但操作入口要自己核对。