当我们再用python爬取网页代码时,难免会出现乱码,如下图所示
image.png
推荐解决办法:
代码中加入下行代码
html.encoding = html.apparent_encoding
image.png
代码中采用以后,解析html结果如下:
image.png
另外,我们对上行代码做下简单详解。
encoding是从http中的header中的charset字段中提取的编码方式,若header中没有charset字段则默认为ISO-8859-1编码模式,则无法解析中文,这是乱码的原因
apparent_encoding会从网页的内容中分析网页编码的方式,所以apparent_encoding比encoding更加准确。当网页出现乱码时可以把apparent_encoding的编码格式赋值给encoding。