结论先说:如果导出文件里已经出现“下一页”“加载更多”或页码断档,而工具没有把分页全部拉完,就不要用总行数是否等于页面显示数来判断完整性。更可靠的做法是回到分页链本身,检查每一页是否都被请求、返回和写入,再用一个可复现的边界样本验证最后一页。若导出工具只提供合并后的文件、不保留每页请求记录,这个结论就不成立,因为你缺少判断遗漏位置的中间证据。
自动导出遗漏分页,通常不是单一原因。要把它拆成三个可区分的层次,才能决定下一步动作。
这三种情况的检查动作不同。请求层要核对翻页参数,解析层要核对页面结构变化,写入层要核对合并逻辑和字段映射。把三者混在一起,只会反复重跑却找不到断点。
总数只能说明“少了”,不能说明“少在哪”。完整性检查应围绕分页链展开:每一页是否有独立请求、独立响应、独立写入记录。
具体动作是:先导出或开启工具的分页日志,确认日志中页码连续,且每页都有对应的请求时间、返回状态和记录条数。然后抽取三页做交叉验证——第一页、中间任意一页、最后一页。如果这三页的记录条数之和与合并文件对应区段一致,说明写入层基本正常;如果中间页缺失,优先怀疑解析层在翻页链接识别上中断。
这个动作的结果会直接影响下一步:日志连续但合并文件缺记录,处理写入逻辑;日志本身断档,处理请求或解析逻辑。不要在没有日志的情况下直接改抓取规则,那等于把三个问题当成一个猜。
假设某工具导出时把分页请求合并成一次异步任务,只在任务结束后给出一个总文件,不保留每页请求记录。此时上面“用分页链核对”的方法就无法执行,因为你没有中间证据来判断遗漏发生在请求、解析还是写入。这种情况下,完整性只能退回到边界样本验证:手动构造一个已知页数和已知末页记录数的测试集,让工具导出,再检查末页是否完整。若末页记录数正确但中间页仍可能缺失,说明该工具不适合做完整性要求高的导出,应改为分页单独导出后再合并。
注意,请求量、抓取量或某项统计归零,不能单独证明分页已处理正确。它也可能是页面改版、接口限流、权限变化或工具提前终止造成的。要结合分页日志和边界样本一起判断。
如果工具的具体分页日志入口、导出字段或保留策略不明确,应以该工具当前实际界面和文档为准,必要时向工具方核对,不要沿用旧教程里的按钮位置或功能描述。完整性检查的目标不是证明工具没问题,而是找到遗漏发生在哪一层,并让下一次导出可以复现同一个判断。