c语言 把字符串转换为变量名_如何将抓取下来的unicode字符串转换为中文

如果抓取的数据是json数据,那么直接将抓取的数据用json格式输出出来就行了。如下:

response = requests.get(url, headers=self.headers).json()

如果是unicode字符串,那么请继续往下看

大家有没有遇见抓取下来的数据是unicode字符串的?如下图所示:

7b0fb1651ebb606d7e1afdadff5da665.png

相信大家遇到这种一定会抓狂吧,这种该怎么搞,费了好大的力气去抓取数据,结果抓取到的数据是这个样子的,大家肯定在解码的时候想到了用别的。

不做过多的啰嗦,直接教你们如何解决问题,以下就是解决的方法:

我们正常情况下:

response = requests.get(url, headers=self.headers).content.decode()

打印结果:

7b0fb1651ebb606d7e1afdadff5da665.png

decode(' ') 这个里面会加各种编码方式,以不同的编码方式解码出来,这里我们发现用一般常用的什么utf-8、gbk发现都无法得到我们想要的结果。

那么该怎么办呢?看看下面的代码

response = requests.get(url, headers=self.headers).content.decode('unicode-escape')

我们发现多了一个 unicode-escape,没错,这个就是今天的重点,我们只需要用这个就能得到我们想要的结果,

我们看看打印结果:

c9fa51161bf6eeb7953884f9810511d2.png

这里我们就成功的拿到了我们想要的结果。

所以我们再请求数据之后只需要在decode中加入unicode-escape即可。

response = requests.get(url, headers=self.headers).content.decode('unicode-escape')

62777f4ca17f1d1db882578dd23473cc.png

欢迎关注公众号:时光python之旅 (欢迎关注我,在这里你能学到更多的知识)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值