Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何生成带有任意标记和附件的RSS_Python_Rss_Feedparser - Fatal编程技术网

Python 如何生成带有任意标记和附件的RSS

Python 如何生成带有任意标记和附件的RSS,python,rss,feedparser,Python,Rss,Feedparser,现在,我正在使用PyRSS2Gen生成一个RSS文档(重新合并使用feedparser解析的RSS提要的修改),但我不知道如何向该项添加不常见的标记 items = [ PyRSS2Gen.RSSItem( title = x.title, link = x.link, description = x.summary, guid = x.link, pubDate = datetime( x.modified_parsed[0],

现在,我正在使用PyRSS2Gen生成一个RSS文档(重新合并使用feedparser解析的RSS提要的修改),但我不知道如何向该项添加不常见的标记

items = [
PyRSS2Gen.RSSItem(
    title = x.title,
    link = x.link,
    description = x.summary,
    guid = x.link,
    pubDate = datetime(
        x.modified_parsed[0],
        x.modified_parsed[1],
        x.modified_parsed[2],
        x.modified_parsed[3],
        x.modified_parsed[4],
        x.modified_parsed[5])
    )

for x in parsed_feed.entries]

rss = PyRSS2Gen.RSS2(
    title = "Resyndicator",
    link = parsed_feed['feed'].get("link"),
    description = "etc",

    language = parsed_feed['feed'].get("language"),    
    copyright = parsed_feed['feed'].get("copyright"),
    managingEditor = parsed_feed['feed'].get("managingEditor"),
    webMaster = parsed_feed['feed'].get("webMaster"),
    pubDate = parsed_feed['feed'].get("pubDate"),
    lastBuildDate = parsed_feed['feed'].get("lastBuildDate"),

    categories = parsed_feed['feed'].get("categories"),
    generator = parsed_feed['feed'].get("generator"),
    docs = parsed_feed['feed'].get("docs"),

    items = items
)
原始提要有一个
标记和一个存储模块
我还需要在生成的版本中包含它。

添加您的 自己的属性(命名空间需要) 声明),重新定义
element\u attrs
rss\u attrs
中的 子类[属于
RSS
RSSData
]


这就是子类化的全部意义,不是吗?:)

有两种方法。首先,您可以直接更改代码。编辑“发布”并将所需内容放在所需位置

但是,如果您想从文档中得到建议,可以从RSS2中派生并实现您自己的publish_扩展,如下所示:

class YourRSS2Item(PyRSS2Gen.RSSItem):
    def publish_extensions(self, handler):
        handler.startElement("show_id")
        handler.endElement("show_id")
“handler”遵循SAX2API(开始元素、字符、结束元素)

至于制作机柜,请使用机柜类,如中所示

item = RSSItem( .... enclosure = Enclosure("http://url.com", 10, ""), ...)

虽然我想我已经弄明白了“element\u attrs”,但我不知道如何让“publish\u extensions”向项目中添加新元素,因为到目前为止,我在python继承方面还没有太多经验。我如何使用这个类(YourRSS2Item)来实际编写我自己的元素?你能举一个完整的例子吗?