先给结论:自动导出漏掉分页时,不能只看导出文件的总条数,而要用“分页边界抽样 + 末页锚点核对”两步验证。如果导出工具能给出每页的起止记录标识,就逐页比对;如果只给一个总数,就退回手工翻到相邻页,确认上一页最后一条和下一页第一条之间没有断档。下面用一个假设情境把两种做法和取舍讲清楚。
假设你负责整理某个公开信息页的历史快照,页面按时间倒序排列,每页显示固定条数,自动导出脚本抓完最后一页后停止。导出文件里最后一页只有三条记录,你怀疑它其实是被截断的。此时有两种常见检查思路。
做法一:靠总数推断。 你记录第一页显示的“共 N 条”,再数导出文件里的行数,如果两者接近就认为完整。代价是:当页面总数本身是动态估算,或者部分记录因权限、状态被隐藏时,总数和实际可导出条数本来就对不上,你无法区分“导出漏了”还是“页面本来就没显示”。
做法二:靠分页边界核对。 你记录每一页第一条和最后一条的唯一标识,导出后检查相邻页之间是否首尾相接。代价是:需要多花时间翻页并记录标识,但如果页面没有稳定唯一标识,这一步会变得很麻烦。
选择依据不是“哪种更准”,而是页面是否提供可核对的稳定锚点。
一个实际动作是:先导出第一页、中间任意一页和最后一页,比较这三页的首尾标识是否与导出文件中对应位置一致。如果中间页对得上、末页对不上,问题就集中在末页处理逻辑,而不是整个抓取流程。
自动导出遗漏分页时,最常见的两种情况是:分页链接没被跟进,或者最后一页被提前判定为空。区分方法如下。
这个判断会直接影响下一步:截断问题要调整单页解析范围;漏跟进问题要检查翻页终止条件;链接未出现问题要先确认页面是否依赖交互才加载后续内容,再决定是否值得继续自动化。
把检查顺序固定下来,可以减少每次重新判断的成本。
如果上述任何一步无法完成,比如页面没有稳定标识、末页入口不可见,就应把结论写成“在现有条件下无法确认完整”,而不是默认导出成功。具体工具是否提供分页边界记录、是否保留请求日志,需要以你实际使用的工具说明为准,不要假设某个按钮或导出格式一定存在。
如果这批快照只用于内部快速浏览,接受“可能遗漏末页少量记录”的代价,可以只做总数筛查。如果这批数据要用于对外交付、比对或后续统计,就必须做到边界可核对,否则遗漏分页会直接改变结论。假设你导出 12 页、每页 20 条,总数显示 238 条,导出文件只有 220 条,这时不要急着补抓 18 条,而应先确认这 18 条是分散在各页还是集中在末页。分散遗漏通常指向筛选条件或去重逻辑,集中遗漏才更可能是分页终止问题。确认原因之后再决定是重跑导出还是局部补录,下一步才不会重复劳动。