先看差异出在哪一层:如果报告页数大于实际对象数量,通常不是“多了几页”这么简单,而是同一对象被拆成多条记录、空页占位或分页重复。缺少完整数据或权限时,仍可执行的最小动作是抽取少量样本,按对象唯一标识逐条比对,先确认重复属于哪种类型,再决定是合并、剔除还是保留。这个动作只能说明样本内的重复模式,不能直接推出全量报告的真实对象数,也不能据此判断工具本身是否可靠。
去重方式取决于你手里有什么。第一种条件:能导出或查看每条记录的对象标识,比如网址、内容ID、商品编号、页面路径。此时去重应以标识为准,而不是以页数或标题为准。第二种条件:只有报告页数、标题摘要,拿不到稳定标识。此时不能做精确去重,只能做近似归并,并且要明确结论的边界。
选择依据可以归纳为三点:
例如,假设一份报告显示120页,每页10条,但实际对象只有980个。差异可能来自20条重复记录,也可能来自若干空页。这个例子只用于说明比较方法:先算“页数×每页条数”,再与去重后的标识数量对照,而不是直接认定1200条里一定有220条重复。
有标识时,最小动作是建立一张对照表:一列放对象标识,一列放出现页码,一列放该条记录的来源或时间。然后按标识分组,统计每个标识出现次数。出现次数大于1的,进入待合并清单;出现次数等于1的,保留原记录。合并时不要只删掉后面的重复行,而要记录“哪一页被保留、哪一页被合并”,否则后续核对页数差异时会丢失线索。
实施后会产生两个结果:第一,你能得到去重后的对象数量;第二,你能看到重复是集中在少数对象,还是普遍分散。如果重复集中在少数对象,下一步应检查这些对象是否被不同条件重复抓取;如果重复普遍分散,下一步应检查导出、分页或筛选条件是否被重复应用。这个结果会影响下一步动作:前者偏向修正抓取或筛选条件,后者偏向修正导出和分页流程。
例外也要说明:如果同一对象在不同时间、不同设备或不同地区下确实需要分别保留,那么“去重”不应合并为一条,而应把标识与条件组合成复合键。此时页数大于对象数是正常现象,不能一律删除。
缺少完整数据或权限时,无法按唯一键精确去重。可执行的最小动作是抽样:从不同页段各取若干页,按标题、路径片段或摘要做人工比对,估算重复比例。然后把这个比例作为一个区间,而不是一个确定值。比如抽样发现约一成记录疑似重复,只能说明“可能存在一成左右的重复”,不能推出全量报告去重后一定减少一成。
近似归并时,建议按以下顺序处理:
这个动作的结果是得到一份“疑似重复清单”,而不是最终对象清单。它会影响下一步:如果高疑似重复比例很低,可以暂时按页数做粗略估计,但要标注误差;如果比例较高,就应优先争取导出权限或对象标识,否则后续任何按页数做的判断都容易偏大。
请求量、抓取量或某项统计归零,不能单独证明去重已经正确。它们还可能有别的解释:筛选条件变严、权限范围缩小、导出中断、分页未翻完,或者对象本身在报告周期内没有变化。反过来,页数减少也不等于重复被清掉,可能只是报告被截断。
因此,判断去重是否成立,至少要同时看三件事:对象标识是否唯一、重复记录是否有合并记录、页数与对象数的差异是否能被具体原因解释。缺少其中任何一项,结论都应降级为“待验证”。
无论哪种条件,第一步都不是直接删记录,而是先出对照表。能拿到标识时,对照表按标识分组;拿不到标识时,对照表按标题和路径分组,并标注疑似程度。对照表完成后,再决定合并、剔除还是保留。这样做的结果是:页数与对象数的差异从“一个说不清的数字”变成“可归因的几类记录”。下一步无论是修正筛选条件、补导数据,还是向有权限的人核对,都有明确依据。
如果只能执行一个动作,就选抽样比对,并把结论限定在样本范围内。它不能替代全量去重,但能帮你判断是否值得继续投入时间争取完整数据。