python爬虫乱码问题

项目场景:

使用爬虫爬取网页文本


问题描述:

所有中文文本全是乱码,如图:

python爬虫乱码问题_第1张图片

 


原因分析:

源网页编码和爬取下来后的编码格式不一致。
如源网页为gbk编码的字节流,而我们抓取下后程序直接使用utf-8进行编码并输出到存储文件中,这必然会引起乱码 即当源网页编码和抓取下来后程序直接使用处理编码一致时,则不会出现乱码; 此时再进行统一的字符编码也就不会出现乱码了


解决方案:

根据源网页编码自动调整

    html = requests.get(url=url, headers=headers)
    html.encoding = html.apparent_encoding

补充:

也可以尝试

new_text = text.encode('iso-8859-1').decode('gbk')

 

你可能感兴趣的:(python_bug,python,乱码)