您好,匿名用户
随意问技术百科期待您的加入

爬虫如何保存已经访问过的url

0 投票

话说同志们在爬取数据的时候如何保存已经访问过的url和队列?对于爬取过的url,我使用redis的set来保存,访问队列是用list来保存,数据量是直线上升,内存不大,也只有4g,扛不住。不知道以前的方法是什么?

用户头像 提问 2013年 12月29日 @ Kennen 上等兵 (442 威望)
分享到:

1个回答

0 投票
 
最佳答案

队列和判断是否访问我都是用的MySQL,考虑到Redis的持久化特性不是很好,而且当时也没想过用Redis或者其他的,暂时现在用MySQL也没什么问题。
具体的做法就是对url的md5值做唯一索引,每次查询都很快,表结构也简单。
队列的话使用的是查表的形式,SQL如下(具体status是表示一些自己定义的状态):
select * from t_down_task where status = 0 order by id limit 1;
定期删除已经执行完的任务

用户头像 回复 2014年 1月11日 @ Lucian 列兵 (86 威望)
选中 2013年 9月7日 @Kennen
提一个问题:

相关问题

0 投票
0 回复 31 阅读
0 投票
1 回复 53 阅读
0 投票
1 回复 51 阅读
用户头像 提问 2013年 10月10日 @ Kog'Maw 上等兵 (212 威望)
0 投票
1 回复 23 阅读
用户头像 提问 2014年 1月27日 @ Ryze 上等兵 (293 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...