近几日遇到采集某网页的时候大部分网页OK,少部分网页出现乱码的问题,调试了几日,终于发现了是含有一些非法字符造成的..特此记录

1. 在正常情况下..可以用

  import chardet

  thischarset = chardet.detect(strs)["encoding"]

     来获取该文件或页面的编码方式 

    或直接抓取页面的charset = xxxx 来获取

 

2. 遇到内容中有特殊字符时指定的编码一样会造成乱码..即内容中非法字符造成的,可以采用编码忽略非法字符的方式来处理.

    strs = strs.decode("UTF-8","ignore").encode("UTF-8")

    decode的第二个参数表示遇到非法字符时所采取的方式

    该参数默认为抛出异常.

 

 

 posted on 2012-12-18 00:29  vingi_苍月  阅读(348)  评论(0编辑  收藏  举报