请输入
菜单

数据去重

在进行数据采集时,可能会遇到这样的情况:采集结果中有重复的数据。

八爪鱼采集器提供两种数据去重方式,满足不同程度的去重需求。

 

一、按整条数据去重(默认)

​在数据采集完成后,系统有一套默认的去重机制:某一行数据(一行数据即一条数据)的全部字段内容与其他行内全部字段内容都相同,则认为该行数据是重复数据,去重后仅保留重复数据中的第1条。

例1:第1、4条数据全部字段内容都相同,它们是重复数据,去重后仅保留第1条数据。

 

二、按字段去重(需手动设置)

在制作采集规则时,可以设置按字段去重:根据用户选择的某个或多个字段,比对某一行数据该字段的内容与其他行该字段的内容是否相同。仅比对已选择的字段,只要选择的字段都是相同的,就认为该条数据是重复数据,其他未选择的字段会自动忽略,即使其他字段内容是不相同的也不进行考虑。去重后仅保留重复数据中的第1条。

例1:选择【字段2】为对比字段,第1、2、4条数据的【字段2】内容相同,则第1、2、4条数据为重复数据,去重后仅保留第1条数据。

 

例2:选择【字段2】和【字段3】为对比字段,第1、4条数据的【字段2】和【字段3】内容相同,则第1、4条数据为重复数据,去重后仅保留第1条数据。

 

三、按字段去重实例

采集需求:

采集微博某个博主的最新博文,采集字段如下图所示。要求每小时采集一次,并且每次要过滤掉之前已经采集过的博文。

 

采集难点:

八爪鱼采集器每次启动本地采集,均是从头开始采集,不可避免的会采到之前已经采集过的博文。同时,博文的评论数,分享数,点赞数都是动态变化的,每次采集时数值不一样。该情景下,八爪鱼默认的去重机制,无法剔除掉已经采集过的数据。

 

解决方法:

使用按字段去重功能,以【博文内容】为对比字段。因为每条博文的内容一般是固定不变的,且同一个博主很少会发布两条内容一样的博文。(若考虑存在发布两条博文内容一样的情况,可以选择多个字段做去重条件。比如使用【博文内容】,【博文详情链接】,【发布时间】三个字段作为去重条件。本示例中仅以单个字段为例。)

 

操作演示:

Step1:创建好采集规则,设置好采集字段。不会创建规则?请查看基本采集教程

Step2:任务流程图中,点击【提取数据】步骤,再点击【数据去重】按钮,进入配置页面。

Step3:选择要设为去重条件的字段。选好后,再点击【应用】即可。

注意:再次点击 图标,可以看到已设置好的【数据去重】配置。

特别说明:

云采集数据去重时,只会对比相同去重条件的历史数据,从而对新数据进行去重。

例如:

设置去重条件是A(选择【字段1】作为对比去重条件),得到第1批云采集数据。

修改去重条件为B(选择【字段2】作为对比去重条件),得到第2批云采集数据。则第2批云采集数据不会和第1批云采集数据进行对比去重。

再将去重条件改为A(选择【字段1】作为对比去重条件),得到第3批云采集数据。则第3批云采集数据将和第1批云采集数据进行对比去重,自动删除重复数据,但不会和第2批云采集数据进行对比去重。

 

作者:Tina

 

最近修改: 2024-02-01