学习Python爬虫中对解决方法的疑惑,请了解的朋友帮忙解解惑(本文第三点中的疑惑).谢谢.
一,乱码问题
import requests
response=requests.request('get','https://www.baidu.com')
print(response.text)
结果显示的文本中含有如下红框中的乱码:
二,解决办法
解决方法是:先取得响应response的content,再对content进行decode()解码,就可以正常显示中文.
三,针对本解决方法中的疑惑
使用"print(help(response))"查看响应对象所属类的帮助信息,其中关于"text"的描述如下:
表示response.text是unicode编码
使用"print(help(response.content))"查看帮助信息,其中有关信息如下:
表示response.content是一个bytes类型.
同时response.content具有decode()方法,该方法默认使用utf-8解码.
那么现在的疑问来了,python内部本来就是使用的unicode编码,response.text()不正好也是unicode编码吗?怎么会有乱码呢?
而对其字节流解码成unicode却就没有乱码了.