我得到KeyError: 'About Me'
。我已经发现用户的Stackoverflow转储数据包含一些没有AboutMe变量的用户。通过xml ['AboutMe']的迭代工作正常。但是如果某些用户没有AboutMe变量,脚本会崩溃并给我一个KeyError。
我尝试检查是否包含AboutMe。如果是,它应该打印AboutMe没有HTML标记。
如果不包含。它应该为此条目指定值None。
这是我的代码:
if element['AboutMe'] is not None:
cleanAboutMe = BeautifulSoup(element['AboutMe'], "lxml").text
print(cleanAboutMe)
else:
element = {'AboutMe':'None'}
我得到的输出:
This is a puppet test account I use to validate "regular user" stuff on the site
-- Jeff Atwood
Independent software engineer
I'm not takin' my sneakers off!
if element['AboutMe'] is not None:
KeyError: 'AboutMe'
我希望你们能提供帮助。我搜索并尝试Stackoverflow中的每个问题但没有帮助我。我每次都会得到这个关键错误。
一点注意:变量Element工作正常但是如果我指向AboutMe Key那么我得到错误。
最好的问候
Theeninfam
答案 0 :(得分:0)
如果元素可能没有该属性,请使用element.get('AboutMe')
获取属性值,如果属性不存在则使用None。 get
是ElementTree实现的标准函数。 https://docs.python.org/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.get