我正在使用feedparser
读取一个正常运行的XML Feed,我可以遍历任何一级属性,但我无法访问第一级以下的任何内容。
例如,我无法从links
中提取任何属性。
非常感谢任何帮助。
代码
import feedparser
feed = feedparser.parse("https://dev.test.com/feed.xml")
for post in feed.entries:
print(post.title) # Works
print(post.links.rel) # Doesn't work
print(post.links[0].rel # Doesn't work
来自变量后的输出
{
'title': 'test title of article'
, 'links': [
{
'rel': 'alternate'
, 'type': 'text/html'
, 'href': 'http://dev.test.com/test-link'
}
, {
'length': '0'
, 'type': 'image/jpeg'
, 'href': 'http://dev.test.com/test-link.jpg'
, 'rel': 'enclosure'
}
]
, 'link': 'http://dev.test.com/test-link'
, 'published': 'Tue, 10 Oct 2017 19:21:00 +0100'
}
答案 0 :(得分:3)
.rel
和['rel']
都应该有效:
>>> import feedparser
>>> feed = feedparser.parse('https://lwn.net/headlines/newrss')
>>> feed.entries[0].links[0].rel
'alternate'
>>> feed.entries[0].links[0]['rel']
'alternate'
由于条目类型为FeedParserDict
:
>>> type(feed.entries[0].links[0])
<class 'feedparser.FeedParserDict'>
哪个实现__getattr__
,请参阅:help(feed.entries[0].links[0])
。