近几日遇到采集某网页的时候大部分网页OK,少部分网页出现乱码的问题,调试了几日,终于发现了是含有一些非法字符造成的..特此记录
1. 在正常情况下..可以用
1
2
3
|
import chardet
thischarset = chardet.detect(strs)[ "encoding" ]
|
来获取该文件或页面的编码方式
或直接抓取页面的charset = xxxx 来获取
2. 遇到内容中有特殊字符时指定的编码一样会造成乱码..即内容中非法字符造成的,可以采用编码忽略非法字符的方式来处理.
1
|
strs = strs.decode( "UTF-8" , "ignore" ).encode( "UTF-8" )
|
decode的第二个参数表示遇到非法字符时所采取的方式
该参数默认为抛出异常.
以上就是小编为大家带来的python 采集中文乱码问题的完美解决方法的全部内容了,希望对大家有所帮助,多多支持服务器之家~