3

你好堆栈溢出我有一些代码可以抓取网站并解析小部分数据,如下所示;

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,"%"

这都是从循环网络刮板打印不同参数的结果。我想要做的是将每个导出为 RSS。因此,上述内容将作为三个 RSS 帖子存在于 RSS 提要中。我研究了一些模块,如 django,这似乎是一个工具包,用于许多东西,而不是专门的 RSS,本质上我正在寻找最简单和最简单的 RSS 解决方案?对于合适的方法和/或模块的任何建议或评论将不胜感激。亲切的问候 AEA

4

1 回答 1

6

我注意到您已将您的问题标记为与 Django 相关。如果您要基于此问题构建 Django 应用程序,那么您要使用联合框架。但是,除非您打算使用 Django 的其他组件,例如数据库和/或模板语言,否则这是不值得的。

但是,您要求“最简单和最简单”的解决方案。我喜欢 Django,我只需要几分钟就可以设置一个应用程序,所以对我来说,完成整个项目的最简单方法可能是制作一个快速的 Django 应用程序。最简单的解决方案可能是手动创建提要,应该不难;就像是:

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>的 s 是独一无二的。

注意:从 w3schools.com 复制的 rss 模板

于 2013-06-11T15:57:41.787 回答