使用Feedparser获取ETag属性

3 投票
1 回答
550 浏览
提问于 2025-04-16 20:12

我知道 Feedparser 支持获取 ETag 头部信息(http://www.feedparser.org/docs/http-etag.html),但是我获取的这个数据源里,每个 entry 项目在内容节点中都有一个叫 'etag' 的属性:
<content type="application/json" etag="c04bada0055b8a12decd459302b2f777">{"name":"Badiou","parent":false}</content>

不过,当我解析这个 Atom 文档时,这个属性似乎被忽略掉了:
'content': [{'base': u'', 'type': u'application/json', 'value': u'{"name":"Badiou","parent":false}', 'language': None}]

这是 Feedparser 的一个限制吗?如果是的话,有人能建议我怎么获取这个属性吗?还是说我只能把 Atom 文档当作 XML 来解析呢?

1 个回答

1

Atom和RSS是一些标准,标准的意思就是大家都应该按照一定的规则来做事情。Feedparser这个工具可以帮助我们解析符合这些标准的ATOM和RSS信息。根据这些标准,ETag(一个用来标识版本的标签)应该作为一个头部属性发送,而不是放在内容的某个部分里。这就是为什么feedparser会忽略那些不符合标准的etag属性。这并不是说feedparser有问题,因为它可以正确获取符合标准的etag,具体的操作可以参考它的文档,链接在这里:http://packages.python.org/feedparser。所以,我认为你需要把atom信息当作XML文档来解析。

撰写回答