爱站查询,一次全站扫描被中断后怎样判断已覆盖范围

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

爱站查询,一次全站扫描被中断后怎样判断已覆盖范围

先给结论:中断后不要凭“扫了多少条”判断覆盖范围,而要把已抓取的页面清单与全站入口清单做一次差集。差集越小,越接近完整覆盖;差集越大,说明剩余部分只能靠补扫或抽样推断,不能直接当作全站结论。下面按“有页面级清单”和“只有汇总数字”两种条件分别说明。

有页面级清单时:用入口差集判断覆盖

当爱站查询这类工具在中断前已经导出或保留页面级记录时,判断覆盖范围的核心动作是重建差集,而不是看进度条。

  1. 把已抓取记录里的URL去重,得到集合A。
  2. 从站点地图、栏目页、分页链接或已知入口整理出应当覆盖的URL集合B。
  3. 计算B中不在A里的部分,即未覆盖集合C。
  4. 按栏目、目录层级或页面类型给C分类,看缺口集中在哪些区域。

如果C主要集中在深层分页、参数页面或最近新增的栏目,说明中断发生在抓取后期,已覆盖部分对主干结构仍有参考价值。如果C里包含首页、主要栏目或核心列表页,那么已抓取数据连结构骨架都不完整,用它判断全站分布会明显失真。

实际动作上,建议先补抓C中层级最浅的一批入口,再决定是否继续全量。因为浅层入口往往能带出更多下级链接,补抓它们对缩小差集的边际效果最大;而先补抓零散深层页,可能花同样时间却几乎不改变覆盖判断。

只有汇总数字时:把“已处理量”降级为参考

如果中断后只留下“已处理多少条”“已发现多少条”这类汇总数字,缺少页面级清单,就不能把已处理量除以发现量当作覆盖率。原因至少有三个:发现量本身可能随抓取推进而增长;重复URL和参数变体可能被重复计数;被跳过的页面未必等于已覆盖。

此时可执行的最小动作是:重新发起一次范围更小的抓取,只针对首页和一级栏目,得到一个可核对的浅层集合。把这个浅层集合与中断前的汇总数字对照,只能回答“主干是否碰到过”,不能回答“每个栏目内部覆盖到什么深度”。

可以区分原因的几组证据:

这些现象只能提示方向,不能单独证明覆盖已经完整。发现量归零也可能只是队列暂时空转,随后又被新链接填满。

两种条件下的选择依据

有页面级清单时,优先做差集和分层补抓,因为证据可核对,结论可以随补抓逐步收敛。只有汇总数字时,优先做浅层重扫和抽样核对,因为完整差集无法重建,任何“全站覆盖率”都只是估算。

一个注明假设的短例子:假设某站已知入口约2000个,中断时已处理1500条,但去重后只有900个唯一URL。此时不能按1500/2000判断覆盖,而应先看900个唯一URL里有多少属于主干栏目。若主干栏目覆盖不足一半,剩余工作应回到入口层;若主干已基本覆盖,缺口集中在深层分页,则可以用抽样估计深层分布,但结论要标注为估算。

不能从已覆盖部分推出的结论

即使差集很小,也不能直接推出全站关键词分布、页面质量或收录结果。已抓取范围只说明“看过哪些页面”,不说明这些页面在搜索或推荐中的表现。中断造成的缺口如果集中在某类模板,基于剩余部分得到的比例会系统性偏向另一类模板。

因此下一步动作应当明确:先补入口、再补失败页、最后才考虑用抽样结果做方向性判断。每次补抓后重新计算差集,只有当差集缩小到可接受范围,才把结论用于后续决策;否则继续标注为部分覆盖。

图1 图2

nginx