如果抓取的数据是json数据,那么直接将抓取的数据用json格式输出出来就行了。如下:
response = requests.get(url, headers=self.headers).json()
如果是unicode字符串,那么请继续往下看
大家有没有遇见抓取下来的数据是unicode字符串的?如下图所示:
![7b0fb1651ebb606d7e1afdadff5da665.png](https://i-blog.csdnimg.cn/blog_migrate/47a159525fcbe2f9fa68e0b45f1c782a.jpeg)
相信大家遇到这种一定会抓狂吧,这种该怎么搞,费了好大的力气去抓取数据,结果抓取到的数据是这个样子的,大家肯定在解码的时候想到了用别的。
不做过多的啰嗦,直接教你们如何解决问题,以下就是解决的方法:
我们正常情况下:
response = requests.get(url, headers=self.headers).content.decode()
打印结果:
![7b0fb1651ebb606d7e1afdadff5da665.png](https://i-blog.csdnimg.cn/blog_migrate/47a159525fcbe2f9fa68e0b45f1c782a.jpeg)
decode(' ') 这个里面会加各种编码方式,以不同的编码方式解码出来,这里我们发现用一般常用的什么utf-8、gbk等,发现都无法得到我们想要的结果。
那么该怎么办呢?看看下面的代码
response = requests.get(url, headers=self.headers).content.decode('unicode-escape')
我们发现多了一个 unicode-escape,没错,这个就是今天的重点,我们只需要用这个就能得到我们想要的结果,
我们看看打印结果:
![c9fa51161bf6eeb7953884f9810511d2.png](https://i-blog.csdnimg.cn/blog_migrate/d4593207cd8b0f71db9a9f6ebb00f025.jpeg)
这里我们就成功的拿到了我们想要的结果。
所以我们再请求数据之后只需要在decode中加入unicode-escape即可。
response = requests.get(url, headers=self.headers).content.decode('unicode-escape')
![62777f4ca17f1d1db882578dd23473cc.png](https://i-blog.csdnimg.cn/blog_migrate/9eda7696d1499be1b269f8c29c652165.png)
欢迎关注公众号:时光python之旅 (欢迎关注我,在这里你能学到更多的知识)