【问题标题】:How many entries in an RSS feed? And can I create pages for RSS feed?一个 RSS 提要中有多少条目?我可以为 RSS 提要创建页面吗?
【发布时间】:2014-05-12 18:12:25
【问题描述】:

我正在为我正在开发的网站创建一个 RSS 提要。我读过 RSS,它很简单:它是一个特殊格式的 XML 文件。

但是,我找不到关于以下两个问题的信息

  1. RSS 提要中的条目/项目数量是否有限制?我应该只有 10 个条目吗?或者我可以达到 100 吗?如果我每天有超过 100 个条目怎么办?我该怎么办?

  2. 我可以让页面每页显示 10 个吗?例如,www.emample.com/rss/ 将给出第 1 页,www.example.com/rss/2 将给出 RSS 的第 2 页,www.example.com/rss/3 将给出第 3 页,以此类推。这个问题的原因如下:如果我被限制为只有 10 个 RSS 项目,如果自上次 RSS 更新以来我有 50 个项目更新到网站会发生什么?

谢谢。

【问题讨论】:

    标签: rss


    【解决方案1】:

    RSS 提要中的条目/项目数量是否有限制?我应该只有 10 个条目吗?或者我可以达到 100 吗?如果我每天有超过 100 个条目怎么办?我能做什么?

    取决于使用的 RSS 版本。例如,如果您使用的是 UserLand RSS 0.91 规范,则在 RSS 2.0 规范中,channel 中的 item 数量应限制为 15 个 according to 信息。如果您将 RSS 视为定期更新的一种格式,这是有道理的——尽管它可能会受到限制。

    如果您查看 jekyll-feed RubyGem(它使用 Atom 并部署在 GitHub Pages 站点上),is limited帖子 数量为 10。但您可以做任何您想做的事情,只要规范允许。

    例如,如果您每天有超过 100 个条目,您显然会想要增加数量,而 RSS 2.0(也许是 Atom?)就可以了。要向 RSS 用户代理表明内容更新频率很高,您可以使用Syndication module 来输出时间:

    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    

    (使用时不要忘记添加XML命名空间。)

    请记住,如果您使用 Content 模块在 CDATASection 中输出文章的全文,如果部分很大,您可能会想要截断一些文本。

    我可以让页面每页显示 10 个吗?

    是的,但如果您这样做,您可能应该为您的 RSS 提供一个 RSS 来指示页面,并使用不带 URL 的guid 来确保它们被提要阅读器正确识别和重复数据删除。这也将取决于 RSS 用户代理以及您想要的结果。

    为了好玩,这里有一些 RSS 2.0 的模块,它们使其非常可扩展:

    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    

    只使用你需要的并删除你不使用的命名空间。

    【讨论】:

      【解决方案2】:

      另一种选择是查看 Atom,这是所有现代读者都可以透明地阅读的另一种格式(没有人会注意到这是 Atom 或 RSS)。 Atom 的分页为per this RFC。 不过一般来说,分页并没有被广泛使用……所以你可能不需要太费心!

      无论您选择 RSS 还是 Atom,让您的提要“太大”是没有用的。坚持少量的项目,在 10 到 20 之间,具体取决于您发布项目的频率。

      还可以考虑实现PubSubHubbub,这是一个相当简单的发布/订阅协议,它可以让对您的内容感兴趣的任何人都知道给定的提要已经更新。

      【讨论】:

      • 谢谢。我今天才在你的笔记之后才读到 PubSubHubbub。我理解这个概念,但不理解实现。我必须使用pubsubhubbub.appspot.com 设置一个帐户吗?文档不多!谢谢。
      • setip 比较简单。如果您想一步一步来,只需使用superfeedr.com/publisher,它将指导您完成所有步骤。
      【解决方案3】:

      RSS 2.0 规范:

      在 RSS 0.91 中,各种元素被限制为 500 或 100 个字符。 0.91 中的时间不能超过 15 秒。没有 RSS 0.92 及更高版本中的字符串长度或 XML 级别限制。处理器 可能会施加自己的限制,并且生成器可能具有以下偏好 说一个频道中最多只能出现一定数量的 s, 或者字符串的长度是有限的。

      在 RSS 2.0 中,规定将频道链接到其 编目系统中的标识符,使用渠道级类别 功能,如上所述。例如,将频道链接到其 Syndic8标识符,包含一个category元素作为子元素 ,域为“Syndic8”,并为您的标识符赋值 Syndic8 数据库中的频道。适当的类别元素 脚本新闻将是 1765 年。

      RSS 文件主要用于在您的网站上有新内容时通知订阅者。您通常会在 Feed 中设置 s 的数量,以合理地适应在特定时期内定期更改的页面数量。

      如果您希望 SE 了解您的页面,则建议使用另一种类型的 XML 文件;站点地图。

      【讨论】:

        猜你喜欢
        • 2015-03-31
        • 2012-07-04
        • 2012-12-06
        • 2016-01-25
        • 1970-01-01
        • 1970-01-01
        • 2011-09-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多