在Python中轻松创建RSS/XML的技巧

6 投票
3 回答
4532 浏览
提问于 2025-04-15 18:14

我有一个包含这三个项目的列表:标题、链接和基于HTML的描述。我在寻找一个库或者外部工具,可以把这三个项目输入进去,然后生成一个RSS的XML页面。有没有这样的东西呢?

3 个回答

2

那你觉得 Django的RSS框架怎么样呢?

13

我建议你使用一个模板,然后把项目列表放到这个模板里。

这里有一个例子,使用的是Jinja2模板(虽然是Atom格式,不是RSS,但你可以理解这个意思),假设这些项目是三个元素的组合(标题、链接、HTML内容):

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <author>Author's name</author>
    <title>Feed title</title>
    {%for item in items %}
    <entry>
        <title>{{item[0]}}</title>
        <link href="{{item[1]}}"/>
        <content type="html">{{item[2]}}</content>
    </entry>
    {%endfor%}
</feed>

下面是把内容放入模板并输出结果的代码:

import jinja2
env = jinja2.Environment(loader=jinja2.FileSystemLoader("."))
print env.get_template("feedtemplate.xml").render(items=get_list_of_items())
1

这可能不是你想要的答案,但任何RSS的版本其实都是比较简单的标准,特别是0.9和2版本,1版本也有一些限制。

如果你没有其他的限制,比如说你已经在用Django,或者未来会变得更复杂,或者你希望它能自动分发,或者你想一次性创建RSS 1、RSS 2和Atom,但又没时间去看三个规范,那你可以考虑手动写。

以下是一些规范链接:

撰写回答