先给结论:不要只看导出任务是否显示“完成”,而要把这次导出结果与源列表的“应有分页集合”做一次对账。对账对象是你手里那份导出文件、导出日志和源列表的分页入口。做法是:先确认源列表一共有多少页、哪些页是有效数据页,再逐页核对导出文件里是否出现对应记录;缺哪一页,就回到那一页单独补导,而不是整批重跑。整批重跑通常更慢,也更容易再次踩到同一处遗漏。
自动导出遗漏分页,常见原因不在“工具坏了”,而在三个不同层次:源列表分页本身、导出任务的翻页逻辑、导出文件写入逻辑。三者要分开验证,否则你会把源站问题误判成工具问题。
判断方法很直接:拿导出文件里最后一条记录的排序字段,去源列表定位它落在第几页,再看它后面还有没有页。如果定位到的是倒数第二页,而源列表还有下一页,那基本是翻页逻辑或写入层的问题,而不是源列表没有数据。
发现遗漏后,通常有两种看似都合理的做法。它们成立的条件不同,代价也不同。
整批重跑适合:源列表在导出期间发生过增删,页码已经整体位移;或者你不确定遗漏范围,只发现总数对不上。代价是耗时更长,而且如果源列表仍在变动,重跑后依然可能对不齐。重跑前应尽量让源列表处于稳定状态,例如暂停新增或固定筛选条件。
定点补导适合:你已经能定位到具体缺的是哪一页或哪几页,且源列表分页顺序没有变化。代价是需要你手动确认每一页的边界,如果缺页较多,逐个补导反而更繁琐。
选择条件可以简化成一句:能定位到具体缺页,就定点补导;定位不到,或者源列表在导出期间变过,就整批重跑。动作上,定点补导完成后,必须把补导文件与原文件按唯一标识合并去重,再重新核对总记录数,否则会出现重复记录,让下一步的统计判断失真。
假设你导出某关键词的排名记录,源列表显示共 12 页,每页 50 条。导出文件里有 550 条记录,差 50 条,正好是一页的量。这时不要急着补最后一页。
这个例子里,数字只是用来演示比较方法,不代表任何工具的实际导出规模。关键是:用记录定位页码,而不是用页码猜记录。页码会位移,记录标识相对稳定。
每次自动导出后,按固定顺序做四步,就能把“完整性”从感觉变成可核对的结果。
需要提醒的是,抓取量或导出条数归零,并不能单独证明处理正确。它也可能是筛选条件过窄、源列表当时无数据、任务被限流后提前结束。要结合源列表页数和记录标识一起看,才能排除这些合理解释。具体工具的分页上限、导出字段和去重规则,不同产品差异较大,应以你实际使用版本的说明为准,必要时核对官方文档或当前界面。
如果连续两次补导后,合并结果仍然对不上,且源列表在期间没有变动,就不要继续反复重跑。此时更可能是导出任务的翻页逻辑与源列表分页方式不兼容,例如源列表用游标分页而任务按页码递增。继续补导只会重复消耗时间。更稳妥的动作是缩小导出范围,按时间或筛选条件分段导出,每段单独对账,再合并。这样即使某一段缺失,也能快速定位,而不是在一整批里反复排查。