开发者社区> 问答> 正文

爬虫怎么保存已经访问过的url

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

展开
收起
爵霸 2016-03-09 13:51:00 2980 0
2 条回答
写回答
取消 提交回答
  • 个人网站:https://www.zhouzying.cn

    可以使用Hash去重

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

    2019-07-17 18:56:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Python第五讲——关于爬虫如何做js逆向的思路 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载