requests关于Exceeded 30 redirects
写了几行平平无奇的代码,想要获取json数据
import requestsurl=‘https://image.baidu.com/search/acjson?tn=resultjson_com&logid=10924524703716171320&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E9%87%91%E5%9F%8E%E6%AD%A6&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=&hd=&latest=©right=&word=%E9%87%91%E5%9F%8E%E6%AD%A6&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&nojc=&cg=star&pn=60&rn=30&gsm=3c&1635587116468=’resp=requests.get(url) json_data=resp.json()
然后就报错了:requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
根据网友的解答加上了allow_redirects=False
因为错误显示重定向超过三十个,因此allow_redirects=False,关闭重定向
此时代码变成了:
import requestsurl=‘https://image.baidu.com/search/acjson?tn=resultjson_com&logid=10924524703716171320&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E9%87%91%E5%9F%8E%E6%AD%A6&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=&hd=&latest=©right=&word=%E9%87%91%E5%9F%8E%E6%AD%A6&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&nojc=&cg=star&pn=60&rn=30&gsm=3c&1635587116468=’resp=requests.get(url,allow_redirects=False) json_data=resp.json()
然而还是报错了:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
看来得解码,于是:
resp=requests.get(url,allow_redirects=False).content.decode('utf-8')
又报错:因为解码后不再是response了,所以不具有json()方法
因此问题不是出在解码上,而是get()并没有成功运行得到response。
真正的问题在关闭了重定向以后,页面不再跳转。
简单来说就是没有与服务器建立会话,页面重定向成了环形的死循环。即你的原始URL重定向一个没有新的URL B,其重定向到C,它重定向到B,等等。
文章的结尾提到加请求头来保持会话的持久性。
http头部没有编码方式,requests默认使用自己的编码方式。也是很任性,具体关于requests的乱码行为的出现原因及解决方案,在这篇博客有详细介绍,可以看一下。
https://www.cnblogs.com/billyzh/p/6148066.html。
正确的代码:
import requestsurl=‘https://image.baidu.com/search/acjson?tn=resultjson_com&logid=10924524703716171320&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E9%87%91%E5%9F%8E%E6%AD%A6&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=&hd=&latest=©right=&word=%E9%87%91%E5%9F%8E%E6%AD%A6&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&nojc=&cg=star&pn=60&rn=30&gsm=3c&1635587116468=’resp=requests.get(url,allow_redirects=False,headers=headers) json_data=resp.json()
requests关于Exceeded 30 redirects相关推荐
- requests.exceptions.TooManyRedirects: Exceeded 30 redirects
requests.exceptions.TooManyRedirects: Exceeded 30 redirects https://blog.csdn.net/weixin_42081389/ar ...
- python requests 重新定向错误 requests.exceptions.TooManyRedirects: Exceeded xx redirects 解决方法
在抓取steam游戏名称时发现以下错误: requests.exceptions.TooManyRedirects: Exceeded 30 redirects 错误提示是requests库有太多的重 ...
- python 爬虫 requests 错误汇总
1.发生异常: ProxyError HTTPSConnectionPool(host='www.baidu.com', port=443): Max retries exceeded with ur ...
- 图片的批量下载 和 爬虫爬取图片数据集
图片的批量下载 和 爬虫爬取图片数据集 1.图片的批量下载 1.图片的批量下载 数据集是深度学习的一切,没有数据集它什么也不是,现在你知道数据集很重要了吧 代码: ''' 项目名称:爬取公章数据 创建 ...
- Python爬虫之自动下载图片
对大佬的图片下载器的小程序很感兴趣,故运行了一下代码块,发现会报类似下图中的Exceeded 30 redirects错. 故重新编写了一个访问函数来实现图片下载功能,不过还是要感谢大佬很有趣的ide ...
- 2021年1月6日订阅朋友的问题与解决方案汇总
文章目录 Traceback (most recent call last): requests.exceptions.TooManyRedirects: Exceeded 30 redirects. ...
- 1499飞天茅台脚本使用过程中遇到的Python问题汇总索引目录【淘宝-天猫超市、京东】
1499飞天茅台脚本使用过程中遇到的Python问题汇总索引目录[淘宝-天猫超市.京东] 1499飞天茅台脚本使用过程中遇到的Python问题汇总索引目录[淘宝-天猫超市.京东] @[TOC] 原文地 ...
- 面试系统设计_系统设计面试问题–您应该知道的概念
面试系统设计 You may have heard the terms "Architecture" or "System Design." These com ...
- 监控prometheus-2
prometheus-2 来源:官方文档. 配置文件 要指定要加载的配置文件,请使用--config.file标志. 该文件以YAML 格式编写,由下面描述的方案定义.括号表示参数是可选的.对于非列表 ...
- 【云原生学习】史上最全Prometheus学习笔记
文章目录 Prometheus使用 一.Prometheus基本概念 1.1 特点 1.2 相关组件 1.3 架构 1.4 四种指标 1.5 Promethues的数据模型 1.5.1 作业和实例 二 ...
最新文章
- java for 跳过_在for循环中跳过错误
- Science公布年度十大科学突破!新冠疫苗居首位
- C# .NET Web API 如何自訂 ModelBinder
- 速来围观MOS管的选择步骤
- @产品部 -- 腾讯策划部是如何培养用户的《王者荣耀》“瘾”的
- C Primer Plus(第五版)7
- php 离线 gis,在 Web 页面中使用离线地图
- IBASE text component
- HTML常见标签总结
- [html] 举例说明锚点定位有什么作用?
- 替换元素节点replaceChild()
- bigdecimal 小于等于0_半场0-0比分的比赛,你需要注意这些
- 2.5、调用后置处理器
- nodejs,python,sublime和Eclipse的包管理器 1
- 交叉表 mysql_MySql交叉表
- Win10编译OpenJDK源码
- Vimium 是做什么的?不得不服
- 会计专业计算机工具,会计工作需要用哪些工具
- 苹果手机实现NTU校园网连接自动化
- k8s修改默认命名空间
热门文章
- 高等数学:对向量及其线性运算和数量积、向量积的见解
- 身份证二要素,帮你轻松搞定实名认证
- c语言汇率转换代码_拜求c语言编写的人民币大小写转换的代码!
- BMP图像位图法隐藏信息
- 小程序返回页面报错:navigateBack:fail cannot navigate back at first page.
- NShape(开源矢量图形编辑器) 入门(三)
- Vue Tags Input
- vim学习笔记-tags用法
- perl php-serialization install,如何在PHP中反序列化Perl Data :: Dumper输出
- ubuntu死机咋办_ubuntu16.04经常死机 ubuntu电脑经常死机如何解决