怎么使用python反爬虫技术限制连续请求时间


这篇文章主要介绍了怎么使用python反爬虫技术限制连续请求时间的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用python反爬虫技术限制连续请求时间文章都会有所收获,下面我们一起来看看吧。有关requests_cache的更多用法,参考下面requests_cache说明httpbin.org这个网站能测试HTTP请求和响应的各种信息,比如cookie、ip、headers和登录验证等,且支持GET、POST等多种方法,对web开发和测试很有帮助。它用Python + Flask编写,是一个开源项目。requests-cache,是requests库的一个扩展包,利用它可以非常方便地实现请求的缓存,直接得到对应的爬取结果。作用和使用场景1.在爬取过程中,它可以根据浏览器的缓存机制来选择缓存内容。从请求行为上看与浏览器更加相似,起到反反爬的效果。2.另外,还可以自定义缓存机制,在爬虫项目中,优化性能。requests-cache库只能对requests的请求实现缓存功能,而且requests要以session方式进行请求。单独的requests.get、requests.post不能被缓存。requests使用方法安装:与普通的代码比较在爬取一个域名下的多个url时,使用requests.session.get或requests.session.post会比单纯的requests.get、requests.post更高效。因为它只建立了一个会话,并在上面做多免费云主机域名次请求。同时还支持登录信息cookie等的传递。下面比较一下缓存代码的写法没有缓存的代码:普通的requests session爬取该代码是访问了httpbin.org网站,该网站会解析delay/1,在1秒后返回。有缓存的代码:带缓存的requests session爬取只需要添加一句requests_cache.install_cache(‘demo_cache’)即可。微创式添加缓存功能如果需要清空缓存,可以调用:requests_cache.clear() #清空缓存代码通过res.from_cache可以判断该值是否是缓存值:requests_cache.install_cache默认的方式是与浏览器的缓存行为一致的。如果要自定义可以先了解该函数的参数:requests_cache.install_cache定义该参数说明如下:- cache_name:缓存文件名称。backend:设置缓存的存储机制,默认使用sqlite进行存储。
支持四种不同的存储机制,分别为memory、sqlite、mongoDB、redis。在设置存储机制为mongoDB、redis时需要提前安装对应的模块。pip install pymongo; pip install redies。memory:以字典的形式将缓存存储在内存当中,程序运行完以后缓存将被销毁sqlite:将缓存存储在sqlite数据库中mongoDB:将缓存存储在mongoDB数据库中redis:将缓存存储在redis中expire_after:设置缓存的有效时间,默认永久有效。allowable_codes:设置状态码。allowable_methods:设置请求方式,默认get,表示只有get请求才可以生成缓存。session_factory:设置缓存执行的对象,需要实现CachedSession类。**backend_options:如果缓存的存储方式为sqlit、mongo、redis数据库,该参数表示设置数据库的连接方式。设置缓存文件类型的代码如下:其他不同格式:MongoDB安装pymongo pip install pymongo;调用requests_cache.MongoCache保存为’mongodb’gridfs安装pymongo调用requests_cache.GridFSCache保存为’gridfs’DynamoDB boto3调用requests_cache.DynamoDbCache保存为’dynamodb’Memory以字典的形式将缓存存储在内存当中,程序运行完以后缓存将被销毁 调用requests_cache.BaseCache保存为’memory’具体例子代码如下:只缓存200返回值的请求设置缓存的过期时间:在响应头中,浏览器会根据cache_control参数来确定是否保存缓存,在设置requests_cache缓存时,可以对cache_control参数设置,使其保存浏览器不需要保存的内容。在Request Headers里面加上了Cache-Control为no-store,这样的话,即使我们声明了缓存那也不会生效关于“怎么使用python反爬虫技术限制连续请求时间”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“怎么使用python反爬虫技术限制连续请求时间”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: php curl301跳转如何处理

本篇内容介绍了“php curl301跳转如何处理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! php curl 301跳转的处理方法:1、打开相应的php文…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/11 21:01
下一篇 03/11 21:01

相关推荐