按顺序增加RSS的GUID

时间:2013-06-16 18:49:40

标签: python loops python-2.7 rss guid

我有一些产生RSS提要的代码,现在格式化中的一个错误是GUID没有增加,或者不是唯一的数字。编写RSS的代码如下:

    rss_start="""<?xml version="1.0" encoding="ISO-8859-1" ?>
        <rss version="2.0" ">

            <channel>
                <title>Your title</title>
                <link></link>
                <description>Your discription</description>

    """

    rss_end="""

            < href="" rel="self" type="application/rss+xml" />
            </channel>
        </rss> """

    def description(item):
        return item

    def title(item):
        return item.split('\n')[0]

    def link(item):
        return '' + item.split('\n')[0]

    for counter, item in enumerate(inp):
        if item:
            rss_items.append("""
                    <item>
                        <title>%s</title>
                        <link>%s</link>
                        <description>%s</description>
                        <guid>counter</guid>
                    </item>""" % (title(item),link(item),description(item)))

    rss_output=rss_start+''.join(rss_items)+rss_end

任何提示方法或注释引导我按正确的方向生成顺序增加的GUID将非常感激。

谢谢SM

1 个答案:

答案 0 :(得分:0)

考虑使用uuid模块。它提供了以不同格式生成uuids的功能。 E.g:

>>> import uuid
>>> uuid.uuid4()
UUID('16fd2706-8baf-433b-82eb-8c7fada847da')

不同的uuid - 函数返回的对象实现__str__,因此要将它们转换为str调用,例如str(uuid.uuid4())

但是,此模块生成的GUID不会按顺序增加,因为这不是常见的用例。为什么你希望你的GUID顺序增加?也许你需要一些不同的东西,或者反/ uuid的组合。