爬虫数据去重

Posted zhiliang9408

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫数据去重相关的知识,希望对你有一定的参考价值。

使用数据库建立关键字段(一个或者多个)建立索引进行去重

根据url地址进行去重

使用场景:url地址对应的数据不会变的情况,url地址能够唯一判别一条数据的情况

思路:

  url存在Redis中

  拿到url地址,判断url在Redis的集合中是否存在

    存在:说明url地址已经被请求过了,不在请求

    不存在:说明url地址没有被请求过,请求,把该url地址存入Redis的集合中

布隆过滤器:

  使用多个加密算法加密url地址,得到多个值

  往对应值的位置把结果设置为1

  新来的一个url地址,一样通过加密算法生成多个值

    如果对应位置的值全为1,说明这个url地址已经被抓取过了

    否则没有被抓取过,就把对应的位置的值设置为1

根据数据本身进行去重:

  选择特定的字段(能够唯一标识数据的字段),使用加密算法(MD5,sha1)将字段进行加密,生成字符串,存入Redis的集合中

  后续新来一条数据,同样的方式进行加密,

    如果得到的字符串在Redis中存在,说明数据存在,对数据进行更新,

    否则说明数据不存在,对数据进行插入。

以上是关于爬虫数据去重的主要内容,如果未能解决你的问题,请参考以下文章

爬虫日记(61):Scrapy的数据去重处理管道

爬虫基本知识

增量式 爬虫

MySQL存储去重操作(爬虫)

爬虫篇 ---增量式爬虫

Python Scrapy爬虫(上)