爬虫去重策略
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左右)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步