先给结论:当报告页数大于你认定的实际对象数量时,优先怀疑“同一个对象被多种标识拆成了多行”,而不是报告错了。去重的第一步不是删行,而是先确定哪一列才是对象的唯一标识,再用它重建一份对照表。下面用一个假设情境把判断过程走完。
假设你负责一个内容站,用百度SEO助手这类工具导出了一份报告,里面有 800 行,但你手工整理的对象清单只有 500 条。这个差额可能来自三个不同的量,混在一起讨论就永远对不上:
报告页数通常接近抓取行数,而你的直觉对应的是对象数。两者本来就不该相等,所以第一步是承认这个差距是结构性的,再去判断哪些行属于同一对象。
假设报告里有这几列:页面地址、页面标题、更新时间。标题最容易重复,因为列表页和详情页可能共用标题;更新时间也不可靠,同一对象不同变体的更新可能不同。相对稳定的做法是从页面地址里提取规范路径,去掉查询参数和末尾斜杠,把它当作候选唯一标识。
具体动作:把报告复制到表格里,新增一列“规范路径”,用公式或手工方式统一大小写、去掉 ?utm=... 这类参数,然后对这一列做重复计数。
结果会直接影响下一步:
继续上面的假设。你按规范路径去重后得到 620 行,仍比 500 多 120。抽查其中 20 组重复,发现两类原因:一类是同一文章被分页拆成多个地址,另一类是同一商品的不同规格页各自成行。
这时不要急着全删。先判断这两种重复是否属于“同一对象”:
按这个标准处理后,分页合并减掉约 90 行,规格页保留,最终落在 530 行左右。剩下的 30 行差异,需要用你手上的清单逐条比对,而不是继续在报告内部找原因。
如果去重后数量仍然对不上,常见的合理解释有几种,需要分别验证:
验证方式很直接:随机抽 10 条差异记录,逐条打开看它是否真实存在、是否属于同一对象。如果 10 条里有 7 条以上能被解释为上述情况,说明是口径问题,应该先统一口径再重跑,而不是修改报告本身。如果多数差异无法解释,才需要回到工具的抓取设置上检查范围条件。
一次去重只能解决当前这份报告。要让下次对得上,需要把判断标准写下来,至少包含三件事:唯一标识取哪一列、哪些变体算同一对象、清单与报告的统计时点如何对齐。这份规则不需要复杂,一页纸即可,但必须让后续看报告的人能用同样的方式复现数量。这样报告页数与实际对象数量的差距,才会从“看起来像错误”变成“可以解释的差额”。