requests请求返回内容 中文乱码问题

1.为什么有时候request会出现请求的内容中文乱码

以国家统计局的[http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2016/]为例,开发者模式打开可以看到 Conten-Type没有指定默认的编码。 而requests使用get请求时候,response默认使用iso-8859-1编码对消息体进行编码,传送数据给客户端。
(大部分网页是有指定编码的)。
requests请求返回内容 中文乱码问题

2. 解决方法

1.自行设置

查看该网页的网页源代码,还以上面国家统计局的连接为例,搜索charset的编码。然后在代码中指定它的编码格式,重新打印相应内容的text,这次中文就不会乱码问题了。
requests请求返回内容 中文乱码问题

res = requests.get(url, headers = header)
res.encoding = ‘gb2312’
pritn(res.text)

2.利用apparent_encoding

res = requests.get(url, headers = header)
res.encoding = res.apparent_encoding
pritn(res.text)

3. 已经爬好的带有\u5430的字符串怎么转为正常的中文显示字符串

python3: 字符串.encode(‘utf-8’).decode(‘unicode_escape’)