python抓取中文网页乱码通用解决方法
2015-12-09 16:53
696 查看
我们经常通过python做采集网页数据的时候,会碰到一些乱码问题,今天给大家分享一个解决网页乱码,尤其是中文网页的通用方法。
首页我们需要安装chardet模块,这个可以通过easy_install 或者pip来安装。
安装完以后我们在控制台上导入模块,如果正常就可以。
比如我们遇到的一些ISO-8859-2也是可以通过下面的方法解决的。
直接上代码吧:
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
通过上面的代码,相信能够解决你采集乱码的问题。
首页我们需要安装chardet模块,这个可以通过easy_install 或者pip来安装。
安装完以后我们在控制台上导入模块,如果正常就可以。
比如我们遇到的一些ISO-8859-2也是可以通过下面的方法解决的。
直接上代码吧:
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
通过上面的代码,相信能够解决你采集乱码的问题。
相关文章推荐
- Writing an Hadoop MapReduce Program in Python
- python格式转换
- Python的Web开发环境之CGI(一)--Ubuntu
- python基础教程共60课-第19课函数
- python脚本编程:批量修改指定目录内文件名
- windows下安装64位python
- 基于python的模拟鼠标进行百度知道自动签到程序
- python基础教程共60课-第18课bool类型转换
- 将shp中的多条属性分割为多个shp文件
- python基础教程共60课-第17课类型转换
- 【python】使用HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies
- python基础教程共60课-第16课字符串格式化2
- python模块
- python使用函数默认值来实现函数静态变量的功能
- Python weatherforecast
- python一个发邮件的函数
- python基础教程共60课-第15课循环的嵌套
- python学习笔记之各种函数各种库
- python tkinter 文件MD5校验工具
- 在Python中新建一个instance有几种办法?