python'ascii'编解码器无法编码字符

时间:2014-08-08 17:26:13

标签: python xml python-2.7 rss elementtree

尝试显示来自RSS Feed的内容时,我一直收到错误消息。我尝试的饲料是Teksyndicate"厨房水槽" feed(utf-8)和AMD新闻源(编码未设置),都下载到我的电脑,因此我不会在运行代码的时候ping他们的服务器。

teksyndicate feed给了我' UnicodeEncodeError:' charmap'编解码器不能对字符u' \ xc2'进行编码。位置183:角色映射到'

amd feed给了我' UnicodeEncodeError:' charmap'编解码器不能对字符u' \ u2122'进行编码。位置349:角色映射到' 抛出错误的代码:

import xml.etree.ElementTree as ET
xmlTree = ET.parse('amd.rss')
xmlRoot = xmlTree.getroot()
# <tag attrib>text<child/>...</tag>tail
# above pulled from Element tree lib file
for i in list(xmlTree.iter()):
    if i.text != None:
        print i.tag + ': ' + i.text
    else:
        print i.tag + ': None'
print '\n\nxmlRoot'
print xmlRoot.tag
print xmlRoot.attrib
print xmlRoot.text
print xmlRoot.tail

只是另外一点,我正在尝试制作一个RSS提要阅读器。我知道那里有一些,但我想自己做一个只是试一试。那是我遇到这个错误,我不知道如何解决它。在这一点上,我只是试图学习ElementTree。

1 个答案:

答案 0 :(得分:0)

print语句尝试将所有内容表示为字符串。您的问题基本上是重复的this one here。我发现它与谷歌一样,你应该有!

问题是除非你指定和编码ASCII将被使用,并且许多Unicode字符不能转换为ASCII(其中只有128个字符)。给另一个问题的答案应该告诉你要纠正什么。