代码之家  ›  专栏  ›  技术社区  ›  Recursion

关于在Python中轻松创建RSS/XML的提示

  •  5
  • Recursion  · 技术社区  · 15 年前

    我有一个列表,如果这3个项目:标题和链接和基于HTML的描述,我正在寻找一个库或外部工具,可以提供这3个项目,并创建一个RSS XML页面。这样的事情存在吗?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Boldewyn    15 年前

    这可能不是您要搜索的答案,但任何RSS方言都是一个相当简单的标准(尤其是0.9和2,并且对1也有限制)。

    如果您没有任何附加约束(例如,您已经使用了django,或者它在不久的将来会变得更复杂,或者它应该自动分发,或者您希望一次创建rss 1、rss 2和atom,并且没有时间阅读3个规范),那么可以考虑手动编写它。

    规格:

        2
  •  12
  •   codeape    15 年前

    我建议您使用模板并将项目列表提供给模板。

    例子 Jinja2 模板(atom,而不是rss,但是你得到了这个想法),假设项目是三元组(title,link,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())
    
        3
  •  2
  •   YOU    15 年前