先给结论:如果自动导出结果里出现分页遗漏,不要只补跑一次导出就结束,而要用“总量对账—边界抽查—再导出验证”三步确认完整性。假设某站点改版后栏目从静态列表换成带参数的分页,原有导出任务仍按旧入口抓取,结果只拿到前几页,这时应先判断是入口变化导致漏页,还是导出规则本身没有覆盖全部分页。
分页遗漏通常来自三个不同层面:入口层、规则层、结果层。入口层是导出任务进入列表的起始地址发生变化,例如栏目首页改版后不再直接列出后续页;规则层是分页参数或翻页方式变化,例如从?page=2变成路径式分页;结果层是导出文件本身被截断、去重或覆盖。三者要分开验证,否则很容易把“规则没覆盖”误判成“工具漏抓”。
一个可操作的区分方法是:先手动访问第二页、最后一页和中间任意一页,记录它们与第一页的列表差异。如果第二页能打开但导出文件没有对应记录,问题更可能在规则层;如果第二页本身已无法从当前入口到达,问题在入口层;如果页面能打开、规则也命中,但导出条数明显少于页面显示条数,才优先怀疑结果层。这个动作的结果会直接决定下一步是改入口、改规则,还是改导出后的合并方式。
总量对账不是看一个数字就下结论,而是找两个独立来源交叉验证。页面自身可能显示“共 N 条”或分页总数,站内日志、栏目接口返回或人工翻到最后一页的记录数可以作为另一来源。两者不一致时,先记录差异出现在哪些页段,而不是立即重跑。
需要提醒的是,请求量下降、抓取量归零或某个统计项变小,都不能单独证明遗漏已经修复。它们还可能是缓存、访问频率限制、页面结构未更新或导出任务被暂停造成的。只有页面可访问、规则命中、总量对账三者同时成立,才能进入下一步。
全量重跑成本高,而且容易掩盖真实原因。更有效的是做边界抽查:取第一页、第二页、倒数第二页、最后一页,以及分页参数发生跳变的页。每页至少核对首条、末条和中间一条记录,确认它们是否出现在导出文件中。
假设某栏目共有 12 页,导出文件只包含第 1 页到第 9 页,第 10 页到第 12 页缺失。此时不要直接补抓第 10 页到第 12 页,而应先检查第 9 页到第 10 页之间的翻页链接:如果第 10 页的入口参数与前面不同,说明规则需要扩展;如果入口相同但导出任务在第 9 页后停止,说明任务边界或超时设置需要调整。这个判断会决定你是改规则、改任务范围,还是改导出后的拼接流程。
确认问题来源后,再导出验证应保留可复现条件:相同的起始入口、相同的分页规则、相同的字段范围,以及相同的去重方式。否则第二次导出即使条数变多,也无法判断是修复生效还是条件变化带来的结果。
这套流程的价值在于把“漏页”拆成可验证的环节,而不是依赖一次重跑。对于已有实际业务的站点,前提变化往往不是工具本身,而是栏目结构、分页方式或导出范围发生了变化。变化前可以按固定入口和固定规则导出,变化后则必须先确认入口是否仍可达、规则是否仍匹配,再决定是继续沿用旧任务还是重建导出条件。
检查完整性最终要回答的是:这次遗漏是偶发截断,还是前提变化后的必然结果。如果是偶发截断,补跑并核对边界即可;如果是入口或分页规则变化,继续沿用旧导出任务只会重复漏页,应更新入口和规则后再建立新的对账基线。具体到你所使用的工具,按钮位置、当前功能和额度信息需要以实际界面为准,不要根据旧经验直接推断。
因此,自动导出遗漏分页时,完整性检查的核心不是“再导一次”,而是先用总量对账判断差异范围,再用边界抽查定位变化层,最后用单条件再导出验证修复是否成立。只有这样,下一步动作才有明确依据。