采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
boolmfilter一定要先设置占用内存大小吗?我还没爬数据就占用4个G,我调了capacity=100000000, error_rate=0.0000001这两个参数,才把占用降低了,能不能不设置内存块?
老师:可是降低capacity的话,url去重的数量也降低了啊
亲 capacity 数量会影响到最少hash的次数以及内存的预分配数量以及大小, 这两者之间一般都会有一个互相影响, 内存小出错率会高一些, 内存大出错率会低一些, 两者很难兼顾, 只有自己去取一个中间值, 因为一定的错误率是可以容忍的, 不同的爬虫系统容忍度是不一样的, 你可以根据自己的需求去调节大小就行了
老师你意思是通过降低error_rate?
不是, 你可以将capacity设置小一点, 来降低内存使用
亲, bloomfilter的原理是通过bit为来判断的, 所以需要连续的内存块, 连续的内存块就需要预分配,所以需要指明大小, 不过一般200m左右就可以满足上亿的url爬取, 所以你可以设置小一点就行了
登录后可查看更多问答,登录/注册
带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎
4.7k 30
2.5k 18
1.1k 18
1.4k 15
2.8k 15