python 爬虫 缓存的应用 反爬机制

首先需要安装requests-cache模块 pip install requests-cache
测试模块是否安装成功

import requests_cache
version = requests_cache.__version__
print('版本号为:'version)

输出结果:
版本号为:0.5.2

在使用Requests-Cache模块实现请求缓存时,只需要调用install_cache()函数即可,其语法如下:
requests_cache.install_cache(cache_name=‘cache’,backend=None,expire_after=None,allowable_codes=(200,),allowable_methods=(‘GET’,),session_factory=<class ‘requests_cache.core.CachedSession’>,**backend_options)

install_cache()函数中包含了多个参数,每个参数的含义如下:
cache_name:表示缓存文件的名称,默认为cache;
backend:表示设置缓存的存储机制,默认为None,表示默认使用sqlite进行存储;
expire_after:表示设置缓存的有效时间,默认为None,表示永久有效;
allowable_codes:表示设置状态码,默认为200;
allowable_codes:表示设置请求方式,默认为GET,表示只有GET请求才可以生成缓存。
session_factory:表示设置缓存执行的对象,需要现实CachedSession类;
**backend_options:如果缓存的存储方式为sqlite、mongo、redis数据库,该参数表示设置数据库的连接方式。

在使用install_cache()函数实现请求缓存时,一般情况不需要单独设置任何参数,只需要用默认参数即可。判断是否存在缓存的代码如下:

import requests_cache
import requests
requests_cache.install_cache()#设置缓存
requests_cache.clear()#清理缓存
url = 'http://httpbin.org/get'#定义测试地址
r = requests.get(url)#第一次发送网络请求
print('是否存在缓存:',r.from_cache)#False表示不存在缓存
r = requests.get(url)#第二次发送网络请求
print('是否存在缓存:',r.from_cache)#True表示存在缓存

输出结果:
是否存在缓存: False
是否存在缓存: True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴上微笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值