4

如何使用 feedparser 检索 openSearch:totalResults 属性?

我有一个博客 API 结果,看起来有点像这样(我已经剪掉了一些东西以使其紧凑)

 <feed xmlns='http://www.w3.org/2005/Atom'
  xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
  xmlns:gd='http://schemas.google.com/g/2005'
  gd:etag='W/"CUYMQ348fyp7ImA9WB9UFkU."'>
 <id>tag:blogger.com,1999:blog-blogID.postpostID..comments</id>
 <updated>2007-12-14T17:46:22.077-08:00</updated>
 <title>Comments on Lizzy's Diary: Quite disagreeable</title>  
 <generator version='7.00'
   uri='http://www.blogger.com'>Blogger</generator>
 <openSearch:totalResults>1</openSearch:totalResults>
 <openSearch:startIndex>1</openSearch:startIndex>

目前,我做类似的事情

req = urllib.urlopen(url)
urlContent = req.read()            
feed = feedparser.parse(urlContent)
print feed.feed['openSearch_totalResults']

我在上面的代码中收到一个错误,即该属性不存在。我已通过运行确认提要解析器具有命名空间

print feed['namespaces']

这给了我

{'': u'http://www.w3.org/2005/Atom', u'gd': u'http://schemas.google.com/g/2005', u'thr': u'http://purl.org/syndication/thread/1.0', u'openSearch': u'http://a9.com/-/spec/opensearchrss/1.0/'}
4

1 回答 1

0

大写有问题:它应该opensearch_totalresults代替openSearch_totalResults. 因此,正确的行是:

print feed.feed['opensearch_totalresults']
于 2022-01-05T08:55:44.163 回答