Python 3.6:Feedparser 获取子属性的问题

Python 3.6: Feedparser issue getting sub-attributes

我正在使用 feedparser 读取工作正常的 XML 提要,我可以遍历任何一级属性,但我无法访问一级以下的任何内容。

例如,我无法从 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

来自 post 变量的输出

{
    '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'
}

.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])