在爬虫的时候,想使用 redis 来做url 的缓存,不过在操作的时候,遇到了一些小问题。在redis 我想存储的数据格式如下: key domain visited ,数据举例: {"hk134" ,"aton", 0}{"yk457" ,"tianya", 1},这样的数据有数百万。
问题如下:如何从缓存中获取一个 visited 为 0 的数据?
另外想参考一下,大家在爬虫的时候,是如何对 url 进行去重的?看了一些开源的一些代码,结合redis 的 list 和 hash 来做,没有看懂。
所以想问一下大家,是如何对大量数据进行去重的?如先有url 100万条(不重复),再抓取了 100 条 url,如何将这 100 条url 添加到已有的 url 里?
谢谢
Redis建议尽可能使用hash存储数据。
第一个问题,Redis目前没有提供通过value获取key的方式,你可以上网查查有没有相关的帖子介绍
url去重用程序代码可以实现,在爬取的过程中去重之后再存入redis应该更合理。
如果非要用Redis实现,应该用set才对,因为set不能保存相同的string,所以一股脑丢给redis的set即可解决这个问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。