乐趣区

python3的requests解析中文页面出现乱码的解决方法

第一部分 关于 requests 库

(1)requests 是一个很实用的 Python HTTP 客户端库,编写爬虫和测试服务器响应数据时经常会用到。(2) 其中的 Request 对象在访问服务器后会返回一个 Response 对象,这个对象将返回的 Http 响应字节码保存到 content 属性中。(3) 但是如果你访问另一个属性 text 时,会返回一个 unicode 对象,乱码问题就会常常发成在这里。(4) 因为 Response 对象会通过另一个属性 encoding 来将字节码编码成 unicode,而这个 encoding 属性居然是 responses 自己猜出来的。

第二部分 解决方法
所以要么你直接使用 content(字节码),要么记得把 encoding 设置正确,比如我获取了一段 gbk 编码的网页, 就需要以下方法才能得到正确的 unicode。
import requests
url = “http://xxx.xxx.xxx”
response = requests.get(url)
response.encoding = ‘gbk’

print(response.text)

退出移动版