Requests 库解析 JSON 报错:Invalid control character - 解决方法
该报错是因为在请求返回的响应中存在非法的控制字符,导致无法解析为 JSON 格式。
要解决这个问题,可以尝试以下几种方法:
- 查看返回的响应内容,确认是否存在非法字符。可以通过打印
response.text来查看。 - 如果确定存在非法字符,可以使用
response.content获取原始字节数据,然后使用decode()方法将字节数据解码为字符串,并使用正则表达式或其他方法去除非法字符。 - 如果无法确定非法字符的具体位置,可以尝试使用
response.content获取原始字节数据,然后使用decode(errors='ignore')忽略非法字符。 - 如果以上方法无效,可以尝试修改请求的编码方式。在发送请求时,可以添加
encoding='utf-8'参数来指定编码方式。
需要注意的是,根据报错信息中的line 9 column 1140,可以确定非法字符出现在响应内容的第9行第1140列,可以根据具体情况进行调整。
另外,还可以考虑在请求时添加verify=False参数来禁用 SSL 证书验证,有时候 SSL 证书问题也会导致解析 JSON 失败。
综上所述,根据具体情况选择合适的方法来解决该问题。
原文地址: https://www.cveoy.top/t/topic/pfLz 著作权归作者所有。请勿转载和采集!