先给结论:扫描中断后,不要用“扫到多少条”判断覆盖范围,因为中断时未完成的部分可能根本没有产生记录,而已产生的记录也可能只代表部分页面。更可靠的做法是找到本次扫描的起点、遍历顺序和最后一个已处理对象,用可核对的边界证据重建覆盖区间,再决定是补扫还是重扫。
假设同一站点先后跑两次全站扫描。第一次正常结束,得到一批结果;第二次中途被手动停止,导出的记录数却比第一次还多。直觉会认为第二次覆盖更广,但这个推断不成立。
常见原因有两个。其一,第二次扫描在中断前恰好集中在结果密集的区域,比如列表页、分页参数或重复链接较多的栏目,单位时间产出更高,但整体范围未必更广。其二,两次扫描的起点、排序规则或抓取深度不同,第二次可能先处理了变化频繁的页面,导致记录数量上升而覆盖面积没有扩大。
这两个解释导向完全不同的下一步:如果是密度问题,补扫剩余区间即可;如果是顺序问题,之前的进度记录无法直接复用,需要重新规划边界。
要判断属于哪一种,需要看三类可核对证据。
把这三项放在一起看:如果顺序稳定、最后对象明确、去重规则一致,那么记录数偏多更可能是密度原因,补扫可继续。如果顺序本身随机或每次重新发现链接,那么记录数偏多只是顺序差异,覆盖范围无法从数量推断,应重新扫描。
假设某工具按站点地图顺序处理,站点地图共 40 个分片,每个分片约 500 个链接。扫描在导出第 17 个分片后中断。此时记录数偏多,但只要最后处理对象落在第 17 分片边界附近,就可以推断已覆盖约前 17 个分片,剩余从第 18 分片补扫。若最后处理对象跳到第 31 分片,说明顺序被打乱,前 17 分片的推断失效,应整体重扫。这里的数字仅用于说明比较方法,不代表任何工具的实际表现。
中断后立即做一件事:保存当前队列状态和最后处理对象的标识,不要先清理任务或重新导入。这个动作的结果直接决定下一步——有明确边界就补扫剩余区间,边界丢失就重扫。补扫前还应确认去重规则与上次一致,否则新旧记录合并时会出现重复或遗漏。
如果工具本身不提供队列位置或最后对象标识,只能看到结果列表,那么覆盖范围无法可靠重建。这种情况下,把结果按发现时间或分片编号排序,观察是否存在明显断层,作为辅助判断,但不能替代边界证据。具体工具是否提供这些字段、字段名称和导出位置,需要以你实际使用的版本为准进行核对。
当补扫或重扫结束后,用两个条件确认覆盖完整:一是起点到终点的区间连续,没有跳过的分片或队列段;二是去重后的对象集合与站点实际可访问集合的差异有合理解释,比如被 robots 规则排除、需要登录或已失效。满足这两点,本次扫描结果才适合进入后续分析;否则应先补齐边界,再谈结果能否用于决策。