python初步爬虫之编码

通过requests库我们可以从给定的URL获得了一些信息,但有的时候这些信息我们是看不懂的,因为它采用了特定的编码方式
我们可以利用返回对象的一些属性把它转成我们能看懂的编码方式。
下面简单介绍两个的简单的属性

encoding():
这里解释一下encoding()属性,这个属性是从http header中猜测响应内容编码方式
我们把requests.get()获得的信息给变量p(这里还是以百度为例)
python初步爬虫之编码

这个时候的信息我们是看不懂的
python初步爬虫之编码

我们可以查看一下当前的编码方式
python初步爬虫之编码
apparent_encoding:
这个属性是从获得的内容中分析出响应内容的编码方式,一般来说这个属性比encoding()属性返回的编码更加准确
因为encoding()并没有分析内容,只是从头部猜测编码方式
当用encoding()解码出我们看不懂的字符,我们可以用apparent_encoding替换encoding

先看一下p.apparent_encoding()
python初步爬虫之编码
我们用p.apparent_encoding()替换p.encoding(),然后再看信息内容
python初步爬虫之编码

说了这么多就是,就当encoding()给的编码看不懂时,用apparent_encoding()替换encoding(),这样就可以了