爬虫数据去重
使用数据库建立关键字段(一个或者多个)建立索引进行去重
根据url地址进行去重
使用场景:url地址对应的数据不会变的情况,url地址能够唯一判别一条数据的情况
思路:
url存在Redis中
拿到url地址,判断url在Redis的集合中是否存在
存在:说明url地址已经被请求过了,不在请求
不存在:说明url地址没有被请求过,请求,把该url地址存入Redis的集合中
布隆过滤器:
使用多个加密算法加密url地址,得到多个值
往对应值的位置把结果设置为1
新来的一个url地址,一样通过加密算法生成多个值
如果对应位置的值全为1,说明这个url地址已经被抓取过了
否则没有被抓取过,就把对应的位置的值设置为1
根据数据本身进行去重:
选择特定的字段(能够唯一标识数据的字段),使用加密算法(MD5,sha1)将字段进行加密,生成字符串,存入Redis的集合中
后续新来一条数据,同样的方式进行加密,
如果得到的字符串在Redis中存在,说明数据存在,对数据进行更新,
否则说明数据不存在,对数据进行插入。