刚学python,抓中文网页遇到编码的问题,怎么转换也不行

 我来答
老夭来了
2015-01-26 · 知道合伙人软件行家
老夭来了
知道合伙人软件行家
采纳数:1806 获赞数:8100
2008年从事软件开发,拥有多年的python,php,linux工作经验,发布过多个python,php的开源项目。

向TA提问 私信TA
展开全部

其实你可以用现成的框架,比如scrapy,已经帮你处理了编码的问题。

如果一定要自己写的话,可以先看一下你抓取站点的编码,一边页面里都会有,比如百度知道里的:

<meta http-equiv="content-type" content="text/html;charset=gbk" />

说明是gbk编码。

#str是你获取到的页面内容
str.decode("gbk")

这样生成的就是python内部编码unicode了,如果你再想编码成utf8,可以:

str.encode("utf8")

如果解决了您的问题请采纳!
如果未解决请继续追问!

可转债量化分析
2015-01-26 · TA获得超过141个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:130万
展开全部
我刚学那会也是,有些编码很麻烦。不过无非试多几次。
这段时间在用python处理网页抓取这块,互联网很多网页的编码格式都不一样,大体上是GBK,GB2312,UTF-8几种。我们在获取网页的的数据后,先要对网页的编码进行判断,才能把抓取的内容的编码统一转换为我们能够处理的编码。比如beautiful soup内部的编码就是unicode的编码。
下面介绍两种python 判断网页编码的方法:
import urllibf = urllib.urlopen('http://outofmemory.cn/').info()print f.getparam('charset')

2 import chardet 你需要安装一下chardet第3方模块判断编码
data = urllib.urlopen('http://outofmemory.cn/').read()print chardet.detect(data)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式