admin管理员组文章数量:1794759
Python requests乱码的五种解决办法
使用requests模块请求网页内容,经常会出现乱码,例如:
import requests res = requests.get("www.baidu/") print(res.text)乱码的原因是内容编码和解码方式不一致导致的,解决办法有以下几种解决办法:
第一种:apparent_encoding import requests res = requests.get("www.baidu/") res.encoding = res.apparent_encoding print(res.text) 第二种:content utf-8解码一种临时性的解决办法,不建议用这种方法,相当于写死代码了。
import requests res = requests.get("www.baidu/") try: txt = res.content.decode('gbk') except UnicodeDecodeError as e: # print(e) txt = res.content.decode('utf-8') print(txt) 第三种:chardet import requests import chardet res = requests.get("www.baidu/") encoding = chardet.detect(res.content)['encoding'] print(res.content.decode(encoding)) 第四种:cchardetcchardet需要提前安装一下:pip install cchardet。
import requests import cchardet res = requests.get("www.baidu/") encoding = cchardet.detect(res.content)['encoding'] print(res.content.decode(encoding)) 第五种:encode + decode import requests import cchardet res = requests.get("www.baidu/") res_encoding = res.encoding # 响应的编码方式 con_encoding = cchardet.detect(res.content)['encoding'] # 内容的编码方式 print(res.text.encode(res_encoding).decode(con_encoding)) # 重新编解码text版权声明:本文标题:Python requests乱码的五种解决办法 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686900721a116115.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论