先分清“页数”和“对象数”是不是同一层统计。报告页数通常按分页、分组或导出批次计数,实际对象数才是去重后的独立关键词或页面数;两者不一致时,先检查分页参数是否被当成对象,再检查同一对象是否因大小写、空格、协议或参数差异被拆成多条。只做一次全局去重往往不够,因为遗漏条件通常藏在“跨报告合并”这一步。
两种情况的处理方向不同。分页重复是同一批对象被拆到多页,页数大于对象数;对象重复是同一对象以不同写法出现,对象数被高估。判断依据可以看三个信号:
如果每页条数固定、最后一页不满,优先按分页重复处理;如果重复项呈现成对出现,优先按对象重复处理。两种判断都只是假设,需要用原始导出文件复核,不能只凭报告页数下结论。
当所有数据来自同一份导出时,处理顺序是:先确定唯一标识,再合并重复行,最后重新计数。唯一标识的选择取决于你要回答的问题:
规范化至少要做三步:统一大小写、合并连续空格、去掉末尾斜杠差异。做完后重新统计行数,如果新行数等于独立对象数,说明去重生效;如果仍不一致,说明还有第二层重复,需要进入跨报告合并检查。
假设例子:某次导出显示 120 页、每页 50 条,报告页数被误读为 120 个对象。按每页 50 条计算,实际记录约 6000 条;去重后如果只剩 5800 条,说明约 200 条是重复写法。这个数字只用于说明比较方法,不代表任何工具的真实规模。
当数据来自多次导出或多个来源时,不一致往往不是重复,而是字段口径不同。此时不能直接删行,要先对齐字段:
对齐后如果同一对象仍出现多条,保留哪一条取决于你的用途:做趋势比较时保留时间范围一致的那条;做当前清单时保留字段最完整的那条。保留规则要写进处理记录,否则下一次合并会再次出现同样问题。
一个实际动作是:在合并前先输出一份“冲突清单”,只列出同一标识对应多条记录的对象。处理完冲突清单后,再重新生成总数。如果冲突清单为空但总数仍不一致,说明问题不在对象重复,而在分页或统计口径。
有些重复看起来像问题,实际是必要信息。例如同一关键词对应多个页面、同一页面覆盖多个关键词,或者同一对象在不同时间点的记录。这些属于一对多关系,强行去重会丢失分析维度。判断方法是问一句:去掉重复后,是否还能回答原来的问题?如果不能,就不应该去重,而应该改成按组合标识统计。
另外,如果报告页数与对象数不一致的原因是导出被截断或分页未取全,去重不会解决缺失问题。此时应先补全数据,再执行去重。请求量或抓取量归零也不能单独证明去重正确,它可能只是时间范围、权限或过滤条件变化导致的。
去重完成后,至少记录三项:使用的唯一标识、规范化规则、冲突保留规则。下一次遇到页数与对象数不一致时,先对照这三项,而不是重新猜原因。如果工具本身提供去重选项,具体名称和位置需要以该工具当前版本为准,不能凭旧经验判断。去重后的对象数才是后续分析的基数,页数只作为导出过程的参考。