爬虫去重策略
1、将访问过的url保存到数据库中。(效率非常低)
2、将访问过的url保存到set中,只需要o(1)的代价就可以查询url。(内存占用大)(1亿条url占用6个G)
3、url经过md5等方法哈希后保存到set中(md5压缩url,降低内存) (scrapy使用的去重类似这种,1亿条url占用1个G)
4、用bitmap,将访问过的url通过hash函数映射到某一位。(通过0 1来判断,但是可能会发生冲突,多个url可能会映射到同一位)
5、bloomfilter方法对bitmap进行改进,多重hash函数降低冲突的可能性(1亿条url只占用12M左右)