尝试显示来自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。
答案 0 :(得分:0)
print语句尝试将所有内容表示为字符串。您的问题基本上是重复的this one here。我发现它与谷歌一样,你应该有!
问题是除非你指定和编码ASCII将被使用,并且许多Unicode字符不能转换为ASCII(其中只有128个字符)。给另一个问题的答案应该告诉你要纠正什么。