Hello Stack Overflow我有一些代码可以抓取网站并解析小部分数据,如下所示;
System MA
user id = 2084
username = XYZ90
selection = pnq
decimal = 6.000
Percentage = 19.1176470588 %
System NA
user id = 2086
username = pron1
selection = abc
decimal = 13.000
Percentage = 13.1147540984 %
System M
user id = 1664
username = Chrisod
selection = pleader
decimal = 15.000
Percentage = 16.091954023 %
以上过滤器会打印上述内容:
if (deciaml > 5 and percentage > 10:
print "system", system_acn
print "user id = ",user_id
print "username = ",username
print "selection = ",selection
print "decimal = ",decimal_delim
print "percentage = ,percentage_calc2,"%"
这一切都是从循环webscraper打印不同参数的结果。我希望能够做的是将每个导出为RSS。因此,上述内容将作为RSS提要中的三个RSS帖子存在。我已经研究了一些模块,比如django,这似乎是很多东西的工具包,不是专门的RSS,本质上我正在寻找最简单,最简单的RSS解决方案吗?对于合适的方法和/或模块的任何建议或意见将不胜感激。 亲切的问候AEA
答案 0 :(得分:6)
我注意到您已将您的问题标记为与Django有关。如果您要基于此问题构建Django应用程序,那么syndication framework就是您想要使用的。但是,除非您计划使用Django的其他组件,例如数据库内容和/或模板语言,否则这不值得。
但是,您要求“最简单,最简单”的解决方案。我喜欢Django,它只需要几分钟就可以设置一个应用程序,所以对我来说,完成整个项目的最简单方法可能就是制作一个快速的Django应用程序。最简单的解决方案可能是手动创建Feed,不应该那么难;类似的东西:
inp="""System MA
user id = 2084
username = XYZ90
selection = pnq
decimal = 6.000
Percentage = 19.1176470588 %
System NA
user id = 2086
username = pron1
selection = abc
decimal = 13.000
Percentage = 13.1147540984 %
System M
user id = 1664
username = Chrisod
selection = pleader
decimal = 15.000
Percentage = 16.091954023 %"""
inp=inp.split('\n\n')
rss_start="""<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
<channel>
<title>Your title</title>
<link>http://yoursite.com</link>
<description>Your discription</description>
"""
rss_end="""</channel>
</rss> """
def description(item):
return item
def title(item):
return item.split('\n')[0]
def link(item):
return 'http://mysite.com/' + item.split('\n')[0]
rss_items=[]
for counter, item in enumerate(inp):
rss_items.append("""
<item>
<title>%s</title>
<link>%s</link>
<description>%s</description>
<guid>counter</guid>
</item>""" % (title(item),description(item),link(item)))
rss_output=rss_start+''.join(rss_items)+rss_end
您可能还想添加<pubDate>
代码。并确保您的<guid>
是唯一的。
注意:从w3schools.com复制rss模板