从零开始,学会Python爬虫不再难!!! -- (10)爬虫缓存丨蓄力计划

为什么需要缓存?

在做大并发爬虫的时候,我们的代码始终还是脆弱的,不论我们如何在try···except···中去调整代码的健壮性,大前提也是这个程序得正常的执行完啊。
那如果执行过程中,服务崩了?怎么办?都已经爬了十万条了,就剩五万条了,但是又不知道剩下的是哪五万条,大并发都是用线程池或者协程来爬,无序的啊!!!

重爬?我都等了两个小时了你让我重爬?我忍不了!!!


requests-cache

底层原理

requests-cache是requests模块的拓展功能,背后的原理是通过requests模块发送请求来生成相应的缓存数据。当requests重复向一个URL发送请求的时候,requests-cache会判断当前请求是否已经产生缓存,如果是,则直接从缓存中读取出数据作为响应内容。

Requests-Cache的缓存支持如下:

数据库 说明
memory 每次程序运行都会将缓存以字典的形式保存在内存中,程序运行完毕,缓存也随之销毁。
sqlite 将缓存存储在sqlite数据库,这是Requests-Cache默认的存储机制。
redis 将缓存存储在redis数据库,通过redis模块实现数据库的读写。
mongoDB 将缓存存
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页
实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值