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