近几日遇到采集某网页的时候大部分网页OK,少部分网页出现乱码的问题,调试了几日,终于发现了是含有一些非法字符造成的..特此记录
1. 在正常情况下..可以用
import chardet
thischarset = chardet.detect(strs)[encoding]
来获取该文件或页面的编码方式
或直接抓取页面的charset = xxxx 来获取
2. 遇到内容中有特殊字符时指定的编码一样会造成乱码..即内容中非法字符造成的,可以采用编码忽略非法字符的方式来处理.
strs = strs.decode(UTF-8,ignore).encode(UTF-8)