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

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

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

2. 解决方法

1.自行设置

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

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’)

  • 21
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值