项目场景:
使用爬虫爬取网页文本
问题描述:
所有中文文本全是乱码,如图:
原因分析:
源网页编码和爬取下来后的编码格式不一致。
如源网页为gbk编码的字节流,而我们抓取下后程序直接使用utf-8进行编码并输出到存储文件中,这必然会引起乱码 即当源网页编码和抓取下来后程序直接使用处理编码一致时,则不会出现乱码; 此时再进行统一的字符编码也就不会出现乱码了
解决方案:
根据源网页编码自动调整
html = requests.get(url=url, headers=headers)
html.encoding = html.apparent_encoding
补充:
也可以尝试
new_text = text.encode('iso-8859-1').decode('gbk')