爬虫数据去重问题

布隆过滤器

安装命令:
pip install pybloom_live

使用步骤:
1)安装
2)创建布隆过滤器
3)向过滤器中添加字符串,验证过滤器输出结果

例:

import pybloom_live

f = pybloom_live.BloomFilter(capacity=10000, error_rate=0.01)
# BloomFilter 是定容  ScalableBloomFilter 可以自动扩容
# BloomFilter当数量超过capacity会报错,如果数据量很大,建议直接使用ScalableBloomFilter

print(f.add("1111"))
print(f.add("2222"))
print(f.add("3333"))
print(f.add("1111"))

结果:False False False True

例:

from pybloom_live import ScalableBloomFilter

f = pybloom_live.ScalableBloomFilter(initial_capacity=5000000, mode=ScalableBloomFilter.LARGE_SET_GROWTH,
                                     error_rate=0.00001)
print(f.add("1111"))
print(f.add("2222"))
print(f.add("3333"))
print(f.add("1111"))

设置capacity的值越大,error_rate的值越小,出错的概率越低,但占用的资源也会越多。

Yesterday is history,tomorrow ismystery,but today is a gift!That why it is called Present!
原文地址:https://www.cnblogs.com/VictorierJwr/p/15688719.html