先检查导出任务在抓取阶段是否真的翻到了最后一页,再判断是保留原导出规则、改写分页逻辑,还是退出自动导出改用人工核对。只看到文件行数变多或变少,都不能单独证明分页处理正确。
多个角色对同一事实产生分歧时,通常是因为各自看到的证据不同。运营看到的是导出文件里的记录数,技术看到的是请求日志里的页码参数,数据方看到的是去重后的唯一值。把这三类证据放到同一张核对表里,分歧就会变成可逐项确认的条目。
具体做法是:从导出结果中随机抽取若干条记录,回查它们原本所在的页码,再确认这些页码是否出现在导出任务的请求记录中。如果被抽中的记录集中在靠前页码,而靠后页码没有对应请求,说明分页没有翻完;如果靠后页码有请求但结果为空,则要判断是页面本身没有数据,还是请求被拦截或超时。
当分页总数稳定、每页记录数固定、且导出任务有明确的结束条件时,保留原规则是合理的。前提是你能说清“最后一页”的判定依据,例如下一页链接消失、返回空列表或达到预设页数上限。若判定依据依赖页面上的某个文字提示,而该提示的文案可能随页面调整而变化,保留原规则就会变得脆弱。
当分页参数可预测、页码连续、且单页返回结构一致时,改写为按页码递增请求更可控。改写后要设置一个明确的停止条件,例如连续两页返回零条新记录,或页码超过一个事先估算的上限。注意:停止条件本身也可能出错,连续空页既可能是真的到底了,也可能是请求被限流,这两种解释需要靠响应状态和请求间隔来区分。
当分页依赖滚动加载、结果顺序不稳定,或同一页多次请求返回不同记录时,自动导出的完整性很难保证。此时退出自动导出、改为分批人工核对,反而是更省成本的选择。退出的前提是你能接受更长的核对时间,并且有办法记录每次核对的范围。
把分歧转成项目,关键是让每个结论都有对应证据。可以按下面的顺序逐项确认:
其中第四步的动作会直接影响下一步:如果去重后数量明显少于原始行数,说明分页之间存在重复抓取,此时应优先检查翻页参数是否被正确递增,而不是继续增加抓取页数。
假设某次导出任务设定最多请求 50 页,实际只发出了 32 次请求就停止。一种解释是第 32 页之后确实没有数据;另一种解释是第 33 页请求超时后被任务判为结束。要区分这两种情况,可以手动请求第 33 页并记录返回状态:若返回正常且有数据,说明是任务提前终止;若返回空或报错,则更可能是页面本身没有更多内容。这个例子中的数字仅用于说明比较方法,不代表任何工具的实际表现。
请求量归零、抓取量下降或导出文件变小,都不能单独证明分页处理正确。它们还可能是筛选条件变化、页面结构调整或请求被限制的结果。判断时应同时看请求记录、返回状态和抽样回查结果,三者一致时结论才比较可靠。
另外,不同工具对“最后一页”的判定方式不同,具体行为需要以实际请求记录为准,不能仅凭界面上的完成提示下结论。若同一份数据需要多人确认,建议把抽样页码、回查结果和去重数量写进同一份记录,让分歧落在可核对的条目上,而不是停留在各自的印象里。