1. 程式人生 > >爬蟲資料去重

爬蟲資料去重

使用資料庫建立關鍵欄位(一個或者多個)建立索引進行去重

根據url地址進行去重

使用場景:url地址對應的資料不會變的情況,url地址能夠唯一判別一條資料的情況

思路:

  url存在Redis中

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

    存在:說明url地址已經被請求過了,不在請求

    不存在:說明url地址沒有被請求過,請求,把該url地址存入Redis的集合中

布隆過濾器:

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

  往對應值的位置把結果設定為1

  新來的一個url地址,一樣通過加密演算法生成多個值

    如果對應位置的值全為1,說明這個url地址已經被抓取過了

    否則沒有被抓取過,就把對應的位置的值設定為1

根據資料本身進行去重:

  選擇特定的欄位(能夠唯一標識資料的欄位),使用加密演算法(MD5,sha1)將欄位進行加密,生成字串,存入Redis的集合中

  後續新來一條資料,同樣的方式進行加密,

    如果得到的字串在Redis中存在,說明資料存在,對資料進行更新,

    否則說明資料不存在,對資料進行插入。