python中文编码问题

2013-03-24 15:27:52 +08:00
 Elwin
在ubuntu下使用python,目标是用beautifulsoup抓取百度贴吧的一个链接,获取它的title然后打印出来。现在的问题是百度的编码是gbk,我用如下代码:
c = urllib2.urlopen('http://tieba.baidu.com/p/2163299007')
soup = BeautifulSoup(c.read)
title = soup('title')[0].string
str = title.decode('gbk').encode('utf-8')
print str
结果输出的还是乱码,大家有什么想法么。。
3398 次点击
所在节点    Python
6 条回复
liubo
2013-03-24 15:42:56 +08:00
c = urllib2.urlopen('http://tieba.baidu.com/p/2163299007').read()
soup = BeautifulSoup(c,fromEncoding="gbk")
title = soup('title')[0].string
print title
polythene
2013-03-24 15:54:45 +08:00
soup('title')[0].get_text()是一unicode串,然后可以encode为各种编码
nkliwenjian
2013-03-24 22:14:55 +08:00
我只是来吐槽一下的。抛开1楼的fromEncoding不谈,只谈编程思路。
c = urllib2.urlopen('http://tieba.baidu.com/p/2163299007')
c是最原始的输入,如果需要编码解码的话应该是在原始输入这里来进行,跑那么后进行干嘛?
完全可以先c.read().decode('gbk').encode('utf-8'),再放到BeautifulSoup里面去处理
shlzs123
2013-06-20 09:23:57 +08:00
您好,我是饿了么的招聘顾问,请问您投递的简历邮箱地址是多少?我会特别关注一下。
Elwin
2013-06-20 13:15:47 +08:00
@shlzs123 infinite.d9@gmail.com,我大概是前天发的邮件吧:-)~
Elwin
2013-06-22 11:59:59 +08:00
@shlzs123 有收到简历么 T T。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/63897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX