刚刚练习python爬虫网页信息,遇到网页信息中文乱码问题。
第一感觉肯定是编码问题,python编译器中默认编码格式UTF-8,我爬取的网页信息是GB2312因此不同编码下显示中文会出现乱码问题。
python中提供了chardet.detect()快速检测内容编码格式,或者通过浏览器调试模式查看网页编码格式
通过python代码获取编码格式:
通过浏览器调试模式获取编码格式:
个人感觉通过chardet来检测编码格式比较方便,便于在代码中进行处理。
以上分析得出可以把网页进行GB2312的解码,然后在编码为UTF-8格式,进行内容输出,代码如下
但是报异常错误,判断是有些特殊字符在解码为GB2312时出错,因此扩大解码的范围采用GB18030
修改代码,运行没有问题,输出中文正常