Python3 requests库解析中文页面乱码解决方案
本文介绍Python3中requests库处理HTTP响应时常见的中文乱码问题。由于requests自动猜测的encoding属性可能导致解码错误,建议直接使用content属性获取字节码,或手动设置正确的encoding(如gbk)以获取正确的unicode文本。
关于requests库
第一部分 关于requests库
(1) requests是一个实用的Python HTTP客户端库,在编写爬虫程序及测试服务器响应数据时经常使用。
(2) 当Request对象访问服务器后,会返回一个Response对象。该对象将HTTP响应字节码保存在content属性中。
(3) 然而,若访问text属性,则返回一个unicode对象,乱码问题常在此处发生。
(4) 这是因为Response对象通过另一个属性encoding将字节码编码为unicode,而该encoding属性实际上是requests库自行猜测得出的。
解决方法
第二部分 解决方法
因此,要么直接使用content(字节码),要么记得将encoding设置为正确值。例如,若获取了一段gbk编码的网页,需采用以下方法才能得到正确的unicode。
import requests
url = "http://xxx.xxx.xxx"
response = requests.get(url)
response.encoding = 'gbk'
print(response.text)
总结
总结
以上所述是小编给大家介绍的解决python3中的requests解析中文页面出现乱码问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









