Python网络爬虫出现乱码的原因


关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换、还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明。

网络爬虫出现乱码的原因

源网页编码和爬取下来后的编码格式不一致。

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

注意区分

  • 源网编码A、

  • 程序直接使用的编码B、

  • 统一转换字符的编码C。

乱码的解决方法

确定源网页的编码A,编码A往往在网页中的三个位置

  1. http header的Content-Type

    获取服务器 header 的站点可以通过它来告知浏览器一些页面内容的相关信息。 Content-Type 这一条目的写法就是 "text/html; charset=utf-8"。 

  2. meta charset

  3. 网页头中Document定义

    
                        
                        

你可能感兴趣的:(爬虫)