抓取一批页面的内容时,经常会遇到编码类型不同的问题。对于简体中文站点来说,一般只有uft8、gb2312两种,如果再加上繁体文,编码类型又会增加。如果想将一批页面的结果合并在一起进行观看的话,如果编码不同,往往会造成乱码的问题。而一个个的页面去查看也相当麻烦。
上面的问题如果使用python解决相当简单,python的chardet库可以对编码类型进行判读:
import chardet
f = open('/path/file.txt',r)
data = f.read()
print chardet.detect(data)
返回值会是类似这样的:一个是检测的可信度,另外一个就是检测到的编码。
{'confidence': 0.99, 'encoding': 'utf-8'}
能判读出编码类型,接下来就可以配合iconv模块进行转码。