先别急着重跑。中断后最值得做的是判断这次扫描到底覆盖了什么、缺了什么,再决定保留、改写还是退出。判断依据不是进度条走到哪,而是工具留下了哪些可核对的痕迹:已处理的URL清单、日志、导出文件或分页结果。如果这些痕迹能对应到站内真实存在的URL集合,你就能圈出已覆盖范围;如果只剩一个百分比或一句“已中断”,那这次数据基本不可用,应该退出并改用分批方式重扫。下面按“先取证、再比对、后取舍”的顺序展开。
不同工具在中断时的留存方式差别很大,这直接决定你能不能判断覆盖范围。常见有三类:
判断方法很直接:找到工具的输出目录或任务详情,看有没有带时间戳或序号的文件。如果有,用文件里出现的URL去重后计数;如果没有,退一步看运行日志里最后处理到哪个URL或哪个批次。这里要提醒一点:进度百分比归零或抓取计数为零,并不能单独证明这次扫描没覆盖任何URL,也可能是中断时计数被重置、日志没刷盘,或工具把结果写到了另一个位置。你需要用文件或日志交叉验证,而不是只看那个数字。
拿到一份疑似已覆盖的URL清单后,下一步是确认它是否可信、是否完整。这里需要你手里有一个独立的URL集合作为参照,来源可以是站点地图、内部链接抓取结果,或你自己维护的页面台账。没有这个参照,你只能知道“扫了哪些”,无法知道“漏了哪些”。
比对时关注三点:
举个假设的例子:某站参照集合有1000个URL,中断后清单里有420条,去重后与参照集合的交集是400条。那么可确认覆盖约400个,缺口约600个,且缺口若集中在/tag/下,就说明这类路径大概率没扫到。这个数字只是说明比对方法,不代表任何真实站点。
覆盖范围判断清楚后,取舍才有依据。三种选择各有前提,不必强求都走一遍。
当已覆盖清单完整、可去重,且缺口集中在少量可单独补扫的路径时,保留这次结果更划算。动作是:把已覆盖部分单独存为一个数据集,标注扫描时间和范围,然后只对缺口路径发起一次小范围扫描。结果是两段数据可以合并使用,但合并前要确认两次扫描的字段口径一致,否则比较会失真。
当工具支持断点续扫或按URL列表导入时,改写比重跑更省资源。动作是:导出未覆盖的URL,作为新任务的输入列表,再跑一次。结果是新任务只处理缺口,旧结果作为补充。前提是工具确实支持这种导入方式——具体能力需要你在当前版本里核对,不要凭记忆假设按钮位置或功能存在。
当工具没有留下任何可核对的痕迹,或参照集合本身缺失、无法建立比对基准时,继续修补这次结果意义不大。动作是退出当前任务,改用分批扫描:按目录或按URL数量切成若干小任务,每个任务单独落盘。结果是单次中断只影响一小批,覆盖范围始终可查。代价是任务管理更繁琐,适合对数据完整性要求高的场景。
无论选哪种取舍,有两件事不能从覆盖范围直接推出。第一,覆盖范围不等于数据质量:扫到的URL可能因超时、反爬或渲染问题返回了空值,这些URL在清单里但结果不可用。判断方法是抽查若干条已覆盖记录,看关键字段是否有值,而不是只看URL是否存在。第二,覆盖范围不等于结论可靠:即使全部URL都扫到了,排名和可见度数据仍受取样时间、地域和查询口径影响。所以覆盖判断只解决“这次扫描够不够用”,不解决“这份数据能不能支撑某个决策”。把这两层分开,你的取舍才不会建立在错误前提上。