【发布时间】:2016-11-30 07:12:21
【问题描述】:
我正在使用 BeautifulSoup4 编写一个 Python 程序,当我获取一个包含风格化引号 u'\u2019' 的 HTML 元素时,我能够打印出 整个 像这样的元素:
代码:
print "Using song: %s" % (song_link)
结果:
Using song: <a href="http://www.songlyrics.com/anna-kendrick/cups-pitch-perfects-when-im-gone-lyrics/" title="Cups (Pitch Perfect’s “When I’m Gone”) Lyrics Anna Kendrick">Cups (Pitch Perfect’s “When I’m Gone”)</a>
但是当我尝试打印出该元素的文本时,它会失败:
代码:
print "Song text: %s" % (song_link.text)
结果:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 30: ordinal not in range(128)
为什么会这样?为什么这一刻有效,下一刻无效?它是可重现的。
【问题讨论】:
标签: python unicode beautifulsoup ascii