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