rss馈源生成

我正在寻找有关如何接近生成RSS feed的建议
.. xml文件使用Python.我向人们推荐什么模块开始
和?
谢谢!
布莱克

# 回答1


在9月10日,7:30*am," Blake Garner" http://www.dalkescientific.com/python/pyrss2gen.html
# 回答2


在星期二,2008年9月9日,晚上9:35,Alex23 塔Webhelpers也做得很好.
[]
- 沃尔特
# 回答3


沃尔特·克鲁兹(Walter Cruz)写道:
我只是用ElementTree滚动了一些东西.不知道如何
与有效性检查相抵触,但似乎是
被几个标准的供稿读者接受.
(对不起;长期代码段)
导入OS,系统<br />
从DateTime导入DateTime<br />
尝试:<br />
从xml.etree导入celementtree AS ET<br />
除非Inflterror:<br />
从ElementTree导入ElementTree AS ET<br />
类提要(对象):<br />
编码=" UTF-8"<br />
def __init__(自我,标题,链接,描述=无,作者= none,updated_on = none):<br />
self.title =标题<br />
self.link =链接<br />
self.Description =描述<br />
self.author =作者<br />
self.updated_on = updated_on或dateTime.now()<br />
self.entries = []<br />
def add_entry(self,title,link,content,summary = none,id = none,updated_on = none):<br />
self.entries.append(<br />
dict(<br />
标题=标题,<br />
链接=链接,<br />
内容=内容,<br />
摘要=摘要,<br />
id = id或链接,<br />
updated_on = updated_on或dateTime.now()<br />
)<br />
)<br />
def write_rss(self,ofile = sys.stdout,编码=编码):<br />
rss = et.Element(" RSS",版本=" 2.0")<br />
通道= ET.Subelement(RSS,"通道")<br />
ET.Subelement(频道,"标题").text = self.title<br />
ET.Subelement(频道,"链接").text = self.link<br />
ET.Subelement(频道,"描述").文本= self.Description<br />
进入自我.进入:<br />
项目= ET.Subelement(频道,"项目")<br />
ET.Subelement(项目,"标题").文本=条目['title']<br />
ET.Subelement(项目,"链接").文本=条目['link']<br />
ET.Subelement(项目," GUID").text = entry ['id']<br />
ET.Subelement(项目,"描述").文本= entry ['content']<br />
et.Elementtree(rss).write(ofile,编码=编码)<br />
def write_atom(self,ofile = sys.stdout,编码=编码):<br />
feed = et.Element(" feed")<br />
et.Subelement(feed," title",type =" text").text = self.title<br />
et.Subelement(feed,link",rel =" self",href = self.link)<br />
如果自我描述:<br />
et.Subelement(feed,"副标题",type =" text").文本= self.description<br />
如果是self.author:<br />
名称,电子邮件= self.author<br />
作者= ET.Subelement(feed,"作者")<br />
ET.Subelement(作者,"名称").文字=名称<br />
ET.Subelement(作者,"电子邮件").文字=电子邮件<br />
et.Subelement(feed,"更新").text = self.updated_on.isoformat()<br />
进入自我.进入:<br />
E = ET.Subelement(feed,"输入")<br />
ET.Subelement(E,"标题").文本=条目['title']<br />
Et.Subelement(E,"链接",HREF = entry ['link'])<br />
ET.Subelement(E," ID").文本= entry ['id']<br />
et.Subelement(E,"更新").text = entry ['UPDATED_ON'].isoformat()<br />
如果输入['summary']:<br />
ET.Subelement(E,"摘要").文本=条目['summary']<br />
et.subelement(e," content",type =" html").<br />
et.Elementtree(feed). ng =编码)  如果__name__ =='__ main __':  feed = feed("例如feed.org"," http://example.org",作者=("蒂姆·戈尔登"," ti@example.org")))))  对于我在范围(5)中:  feed.add_entry("输入%d"%i," http://example.org/entry/%D"%i,输入%d"%i,id ="输入#%d"%i)的内容  feed.write_atom(open(" feed.atom.xml"," w")," ISO-8859-1")  feed.write_rss(open(" feed.rss.xml"," w")," ISO-8859-1")
tjg
# 回答4

蒂姆·戈登(Tim Golden)写道: 我只是用ElementTree滚动了一些东西. 不知道如何 与有效性检查相抵触,但似乎是 被几个标准的供稿读者接受. [...狙击凌乱的代码...] 好吧,那不是很好. 如果有人有兴趣 我在这里删除了模块:http://timgolden.me.uk/python/downloads/feeder.py.py tjg

标签: python

添加新评论