Python爬虫之html.encoding = html.apparent_encoding

 

当我们再用python爬取网页代码时,难免会出现乱码,如下图所示

 

 

 

解决办法:

html.encoding = html.apparent_encoding

 

代码中采用以后,解析html结果如下:

 

 

另外,我们对上行代码做下简单详解。

 

encoding是从http中的header中的charset字段中提取的编码方式,若header中没有charset字段则默认为ISO-8859-1编码模式,则无法解析中文,这是乱码的原因

apparent_encoding会从网页的内容中分析网页编码的方式,所以apparent_encoding比encoding更加准确。当网页出现乱码时可以把apparent_encoding的编码格式赋值给encoding。

 

 

 

 

posted @ 2021-03-29 10:11  水映枫像  阅读(971)  评论(0)    收藏  举报