用python做网页爬虫时经常会出现乱码问题。下面给出解决中文乱码问题的解决方法。
其中需要一个chardet的模块。使用pip install chardet安装即可。pip list命令可以查看安装的包,如果出现有chardet就说明安装好了。
import urllib2
import sys
import chardet
req = urllib2.Request("http://www.163.com/")
content = urllib2.urlopen(req).read()
typeEncode = sys.getfilesystemencoding()##系统默认编码
infoencode = chardet.detect(content).get('encoding','utf-8')##通过第3方模块来自动提取网页的编码
html = content.decode(infoencode,'ignore').encode(typeEncode)##先转换成unicode编码,然后转换系统编码输出
print html