现在,我正在使用PyRSS2Gen生成一个RSS文档(重新解析用feedparser解析的rss feed的修改),但我无法弄清楚如何在项目中添加不常见的标记。
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
)
原始Feed包含<show_id></show_id>
标记以及附件
<enclosure url="http://url.com" length="10" type="" />
我需要将其包含在生成的版本中。
答案 0 :(得分:1)
添加你的 自己的属性(名称空间需要) 声明),重新定义 您的
element_attrs
或rss_attrs
子类[RSS
和RSSData
]。
这是关于子类化的重点,不是吗? :)
答案 1 :(得分:1)
有两种方法。首先,您可以直接更改代码。编辑“发布”并将您想要的任何内容放在任何地方。
但是如果您想从文档中获取建议,请从RSS2派生并实现您自己的publish_extensions,如下所示:
class YourRSS2Item(PyRSS2Gen.RSSItem):
def publish_extensions(self, handler):
handler.startElement("show_id")
handler.endElement("show_id")
'handler'遵循SAX2 API(start_element,characters,end_element)。
至于制作机箱,请使用Enclosure类,如
item = RSSItem( .... enclosure = Enclosure("http://url.com", 10, ""), ...)