网盘外链工具一次全站扫描被中断后怎样判断已覆盖范围

📍 WDQWDWQD987AAAAA:136.243.57.164
📱 Mozilla/5.0 (compatible; QlyzeBot/1.0; +https://app.qlyze.io/bot)
🔗 /04bf94c2aded.html
📄

网盘外链工具一次全站扫描被中断后怎样判断已覆盖范围

中断后不要凭“扫到哪一页”来判断覆盖范围,而要把已产出的结果按来源分层回推:能稳定复现的条目才算已覆盖,只有任务日志或进度条数字的条目只能算待复核。原因在于,扫描中断时进度记录和实际产出经常不同步,前者只说明任务走到过某处,后者才说明链接和状态确实被写了下来。

两种常见解释:任务真的扫过,还是只是进度显示过

中断后覆盖范围出现缺口,通常有两种解释。第一种是任务确实访问并处理了那部分内容,只是结果尚未落盘或落在临时状态里;第二种是任务只是把队列指针推进到了那里,实际请求没有完成,或者完成但返回的是错误页、登录页、限流提示。两种解释在界面上可能长得一样,都会让进度条停在一个靠后的位置。

区分它们的关键不是看进度,而是看产出的可复核性。已落盘的结果如果带有原始地址、抓取时间、返回状态和内容指纹,就能证明这一条被真正处理过;只有计数或百分比,没有对应条目,就不能计入覆盖范围。对旧内容、旧系统或旧合作关系的退出场景来说,这一点尤其重要,因为漏掉的往往正是那些已经失效、需要确认能否删除的链接。

用三类证据区分“已覆盖”和“只是走过”

第一类证据是结果清单本身。把中断前导出的结果按来源分组,统计每组有多少条带完整字段的记录。字段至少包括原始链接、处理状态、时间戳和内容摘要或哈希。缺字段的记录单独放一列,不要和完整记录混在一起。

第二类证据是可复现性。从完整记录里随机抽一小批,用同样的请求条件重新访问一次。如果返回状态和内容指纹与记录一致,说明这批记录可信;如果大量出现超时、跳转或内容变化,说明中断可能发生在网络或权限波动期间,覆盖范围要打折。

第三类证据是边界样本。找出中断前最后若干条完整记录,再找出中断后第一条新记录,看两者之间是否存在来源跳变。如果中间跨越了某个目录、某个域名或某类文件,而这类内容在结果清单里几乎为空,那么缺口大概率就落在这一段,而不是均匀分布在整个站点。

这里有一个假设例子:某次扫描在进度显示 68% 时中断,导出结果里有 1200 条完整记录、300 条只有链接没有状态。重新抽样 50 条完整记录,其中 47 条可复现,3 条返回限流。按这个假设,可以把 1200 条中约九成视为已覆盖,300 条全部列为待复核,而不是把 68% 直接换算成覆盖比例。数字只用于说明比较方法,不代表任何工具的实际表现。

先做一个小动作:给未完成部分打上可续跑的标记

判断覆盖范围之后,下一步不是立刻重跑全站,而是把待复核部分整理成可续跑的输入。具体动作是:从结果清单中筛出缺状态、缺时间戳、状态为错误的记录,导出为单独列表,并保留它们原本的来源分组。然后用同一套请求条件只处理这张列表,而不是重新扫全站。

这个动作的结果会直接影响下一步。如果待复核列表重跑后大部分转为完整记录,说明中断只是落盘或临时错误,覆盖范围可以按原计划收尾;如果重跑后仍然大量失败,说明问题出在权限、链接失效或目标站点策略,这时需要先确认这些来源是否还值得保留,再决定是否扩大扫描范围。对退出场景而言,后者往往意味着可以直接把这类来源划入“不再维护”,而不是继续投入扫描资源。

中断后重跑前必须确认的适用条件

如果以上条件大多不满足,比较稳妥的做法是先把现有结果冻结存档,标注为“部分覆盖”,再决定是否值得重新扫描。把不完整的结果当成完整结果使用,风险通常大于多花一次扫描时间。

覆盖范围之外:哪些结论不能从中断结果里直接得出

中断后的结果只能说明“哪些条目被处理过”,不能直接说明“哪些链接已经失效”或“哪些内容已经可以删除”。链接失效需要单独验证返回状态,内容退出需要单独确认是否还有引用或备份。扫描量归零、抓取量下降或某个分组没有新记录,也可能由权限变化、目标站点暂时不可达或请求被限流造成,不能单独作为处理正确的证据。

因此,把覆盖范围判断和退出决策分开:先用结果清单确定已覆盖和待复核的边界,再对待复核部分做小范围验证,最后才决定哪些来源可以退出。这样即使扫描再次中断,也能知道下一步该从哪里继续,而不是从头再来。

图1 图2

nginx