先给结论:报告页数多于实际对象数量,通常不是“多出来”的对象,而是同一条链接被不同层级、不同参数或不同来源重复计入。去重的关键动作是先确定你要统计的“对象”是链接本身、页面还是域名,再按这个口径把重复项折叠,而不是直接把页数当成结果数。
假设你导出一份链接查询报告,共三页,每页二十行,报告显示六十条记录。但你人工核对后,实际只有十二条独立链接。这个差距足够大,说明问题不在“少翻了一页”,而在统计口径。
此时不要急着删行。先把报告导出为可编辑格式,按“链接”列排序,观察重复项长什么样。常见情况是:同一链接在带 www 和不带 www 时各出现一次;同一链接带跟踪参数 ?from=xxx 时又出现一次;同一链接在“首页”和“内页”两个分组里各被算一次。
报告页数与实际对象数量不一致,本质是“行数”和“对象数”不是一回事。去重前必须回答:你统计的对象是什么?
三种口径下,去重后的数字完全不同。假设同一域名下有十二条链接,其中三条是同一页面的不同参数版本:按链接口径是十二条,按页面口径是十条,按域口径是一条。先选口径,再动手,否则去重结果无法解释。
常规做法通常只按链接字符串去重,但报告页数仍然偏多,往往是因为漏掉了两个条件。
第一个遗漏条件是来源。同一链接可能同时出现在“首页外链”“内页外链”“导航链接”等不同来源里。如果报告按来源分行展示,链接字符串相同但来源不同,就会被保留成多行。此时正确动作是:先按链接字符串分组,再在组内合并来源,而不是按来源去重。
第二个遗漏条件是展示层级。有些报告会把“链接所在页面”和“链接指向页面”都列出来,同一链接因此出现两次。处理方式是明确只保留指向页,把所在页作为附加字段并入同一行。
具体动作可以这样执行:在表格中新增一列“去重键”,把链接统一为小写、去掉末尾斜杠、去掉跟踪参数,再以这一列为准做删除重复项。执行后,如果行数从六十降到接近十二,说明主要重复来自格式差异;如果只降到四十,说明还有来源或层级造成的重复,需要回到报告字段里继续排查。
不同原因造成的重复,处理方式不同。可以用下面这组特征快速区分:
http 与 https 不同。处理方式是统一格式后去重。如果去重后数量仍然明显高于人工核对结果,不要直接认定报告有误。还有一种合理解释:报告统计的是“出现次数”,而你核对的是“独立对象数”,两者本来就不是同一指标。这种情况下需要回到报告说明里确认统计口径,而不是继续删行。
去重完成并确认口径后,把结果分成两类:一类是真正独立的链接,用于后续逐条核对;另一类是仅格式或来源不同的重复项,可以合并保留。接下来再决定是否需要按页面或域名进一步折叠。
如果同一链接在多个来源重复出现,且你关心的是覆盖广度,那么保留来源数量、合并链接主体更有意义;如果你关心的是对象清单,那么只保留一条主记录即可。动作不同,后续分析方向也不同,所以去重不是终点,而是把数字对齐到同一个口径的起点。