先看中断发生在哪一步。如果扫描在“发现链接”阶段就停了,那么已覆盖范围通常只是种子页面和少量近邻页面;如果已经进入“抓取并解析”阶段,则应以已落盘的页面记录为准,而不是以任务日志里的进度百分比为准。判断顺序是:先锁定断点,再用已保存的页面清单反推覆盖边界,最后决定是续扫、补扫还是重扫。
同样显示“中断”,实际含义差别很大。常见有三类:
把这三类混在一起,最容易得出错误结论:把“请求失败”当成“尚未发现”,于是重复扫描大量已处理页面。实际动作是先在结果里筛出状态字段,分别统计成功解析、请求失败、待处理三类数量;如果失败占比明显偏高,下一步应先处理访问条件,而不是直接续扫。
判断覆盖范围,不要依赖界面上的进度条,而要看已经保存下来的页面记录。可以按下面的顺序操作:
这样得到的是一张“已覆盖 / 已访问无内容 / 完全未触及”的三分表。假设某次扫描在抓取到产品栏目约三分之一时中断,结果里新闻栏目有大量记录、产品栏目只有零星几条,那么合理的判断是:新闻栏目基本覆盖,产品栏目远未完成,而不是“整站完成了一半”。这个判断直接决定下一步:优先补扫产品栏目,而不是平均分配时间重扫全站。
两种处理都成立,但条件不同:
判断依据不是中断时长,而是数据是否仍然自洽。如果无法确认已写入记录的完整性,续扫会把新旧两批口径不同的数据混在一起,后续比较就失去意义。此时重扫虽然耗时,但能保证同一批结果来自同一套规则。
假设某次全站扫描计划覆盖一千个页面,中断时结果表里有四百条记录。直接认为“覆盖了百分之四十”并不稳妥,因为还要看这四百条里有多少是成功解析、有多少是失败或空内容。若成功解析为三百条,失败为八十条,待处理为二十条,那么有效覆盖约为三百条,失败部分需要单独处理。下一步动作应是先对八十条失败记录按失败原因分组,再决定是调整访问条件后补扫,还是把它们计入未覆盖。这个分组结果会改变后续工作量估算:失败集中在少数栏目时,补扫范围小;失败分散在全站时,更接近重扫。
完成上述判断后,输出一份清单即可交付执行:已覆盖的URL范围、已访问但无有效内容的URL、完全未触及的URL,以及建议的处理方式。清单里应注明每条判断依据来自哪个字段,例如抓取时间、状态码或解析结果。这样即使换人接手,也能复核边界是否合理,而不是只接受一个“大约扫了一半”的口头结论。