首页新闻找找看学习计划

分布式爬虫如何url去重?

0
悬赏园豆:20 [已解决问题] 解决于 2018-10-30 08:41

  最近刚接触网络爬虫,写到分布式爬虫的url去重的时候感到很疑惑,网上看到的HashSet、MD5和BloomFilter都是单机上的,集群中难道只能用分布式数据库来检索?还有其他的好办法么,或者已经成熟的框架么?

GISVito的主页 GISVito | 初学一级 | 园豆:184
提问于:2016-04-21 09:58
< >
分享
最佳答案
0

你可以用类似分片的方式来解决,比如简单点的通过域名的首字母来切分,某实例只负责a,b,c等,当此实例找到其他域名后,通过mq消息到不同队列(或类似rabbitmq的exchange根据topic进行划分到不同队列),对应字母的服务从指定队列中拉取相关信息后继续你的爬虫过程。

收获园豆:15
Daniel Cai | 专家六级 |园豆:10374 | 2016-04-21 10:39
其他回答(2)
0

最简单的方法,就是用redis之类的库记录是否已访问过。

复杂点的就是楼上的切分处理

收获园豆:5
Nyarlathotep | 园豆:271 (菜鸟二级) | 2016-04-21 13:45
0

写爬虫的童鞋可以试试神箭手云爬虫,自带JS渲染、代理ip、验证码识别等功能,还可以发布和导出爬取的数据,生成图表等,都在云端进行,不需要安装开发环境。

开发文档参考:http://doc.shenjianshou.cn/

官方开发者QQ群:342953471

sosozzzx | 园豆:302 (菜鸟二级) | 2016-08-18 16:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册