第一部分 关于requests库
(1) requests是一个很实用的python http客户端库,编写爬虫和测试服务器响应数据时经常会用到。
(2) 其中的request对象在访问服务器后会返回一个response对象,这个对象将返回的http响应字节码保存到content属性中。
(3) 但是如果你访问另一个属性text时,会返回一个unicode对象,乱码问题就会常常发成在这里。
(4) 因为response对象会通过另一个属性encoding来将字节码编码成unicode,而这个encoding属性居然是responses自己猜出来的。
第二部分 解决方法
所以要么你直接使用content(字节码),要么记得把encoding设置正确,比如我获取了一段gbk编码的网页,就需要以下方法才能得到正确的unicode。
1
2
3
4
5
|
import requests url = "http://xxx.xxx.xxx" response = requests.get(url) response.encoding = 'gbk' print (response.text) |
总结
以上所述是小编给大家介绍的解决python3中的requests解析中文页面出现乱码问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!原文链接:https://segmentfault.com/a/1190000018917931