处理抓取网页中文乱码

时间:01-12 来源:老王python, 标签:python

我们用python做网页采集的时候,会碰到几种编码的类型,比如utf-8,gbk,gb2312等。那就需要我们采集的时候判断网页的编码,从而在接来下进行数据处理的时候不会出问题。

下面简单的介绍一个模块chardet,你通过pip install 安装或者easy_install 把这个模块给安装好。

直接上代码吧:


import urllib2
import sys
import chardet

req = urllib2.Request("http://www.163.com/")##这里可以换成http://www.baidu.com,http://www.sohu.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

 

通过上面的代码,相信能够解决你采集乱码的问题,这样你就可以把网页多种编码转换为系统的默认编码来统一存放了。

老王python提供python基础教程,爬虫,seo工具,excel相关开发教程。

Copyright © 2020 www.cnpythoner.com All rights reserved. 赣ICP备19013357号-1基于python+django开发