0

我正在考虑编写一个守护程序来循环提要,然后将它们作为 ActiveRecord 对象添加到数据库中。

首先,我面临的一个问题是我无法使用 feed-normalizer gem 可靠地检索故事的作者/用户。似乎有时它无法识别标签(我不知道是否有其他人遇到过这个问题)。

其次,我还没有看到有人将 RSS 提要转换回数据库条目。我需要这样做,因为每个条目都会与其他 ActiveRecord 对象关联。我找不到任何宝石来专门执行此操作,但我可以以某种方式破解诸如 act_as_feed 之类的东西来做到这一点吗?

4

3 回答 3

0

SimpleRSS 公开了一个非常简单的 API,并且在大多数提要上运行良好。我建议不要查看实现,因为它的“解析器”是一堆正则表达式(在很多层面上都是错误的),但它运行良好。

Daemons 是在后台运行它的好工具。

如果您使用的是活动记录,则应遵循在 Rails 之外使用 AR 的说明,然后内联定义模型类。这将减少膨胀一点。

RSS 提要非常不一致,这是我们使用的失败

  date = i[:pubDate] || i[:published] || i[:updated]
  body = i[:description] || i[:content] || i[:summary] || ""
  url = i[:guid] || i[:link]

此外,根据经验,请确保您尝试挽救一切(并记住正常的挽救不会捕获超时)。不得不不断地反弹获取不良数据的 RSS 守护程序,这很糟糕。

于 2009-06-25T17:05:50.010 回答
0

不要使用 SimpleRSS。它不会为您解码 HTML 实体,并且偶尔会忽略提要的结构。

我发现使用XMLSimple将提要解析为 XML 最容易,但您可以使用任何 XML 解析器。

于 2009-06-25T19:39:51.877 回答
0

最好的方法是使用连接到像 Superfeedr 的 Feed API的Rails 引擎。轮询 RSS 提要意味着您需要运行自己的异步工作器和/或队列系统,这对于构建和维护加班来说可能相当复杂。您还必须处理数百种格式和不一致。这是一篇博文,展示了如何在 Rails 应用程序中使用 RSS 提要

于 2015-04-27T20:29:50.450 回答