1

您好,我正在构建一个 Yahoo Pipe 来支持我的 Facebook 粉丝专页。我有很多 RSS 提要流式传输图片,我想将输出限制为每小时一张图片。但是我对管道完全陌生,找不到可以理解的教程。管道看起来像这样

RSS1   RSS2 ... RSSn
  |      |       |
  +-----UNION----+
         |
     PIPE OUTPUT
4

1 回答 1

0

您可以使用以下算法做到这一点:

  1. 创建一个包含截断为小时的日期的新字段
  2. 在这个新字段上使用Unique运算符,每小时只获得一个项目

你可以使用这样的管道来实现它:

  1. 使用Rename运算符复制pubDate到,例如,,并带有参数:datepart

    • item.pubDate
    • 复制为
    • datepart
  2. Truncate datepart,使用正则表达式运算符,带有参数:

    • =item.datepart
    • 替换=^(.{13}).*
    • =$1

    也就是说,由于日期字段表示为YYYY-mm-DDTHH:MM:ssZ我们采用前 13 个字符来获取日期部分直到小时并丢弃其余部分。例如 if pubDatewas 2013-11-03T13:34:37then 我们得到2013-11-03T13.

  3. 使用基于的唯一运算符item.datepart过滤项目

作为一个简单的演示,我为您整理了一个管道,显示了每个月yahoo-pipes在 stackoverflow 上标记的 1 个问题:

http://pipes.yahoo.com/pipes/pipe.info?_id=72fea3931e145324f308f0d5f6852d93

请注意,根据放置这些元素的位置,您将获得不同的结果。例如,您可以将此逻辑放在联合之后,以每小时从所有源提要的组合中获取一张图像。或者您可以将此逻辑放在您的联合之前,以便每个提要每小时获取一张图像。

您可能还会问,如果每小时有多张图像,会选择哪一张?第一个。我认为默认排序是pubDate要让 Yahoo Pipes 选择不同的项目,请在Unique之前插入适当的排序运算符。

于 2013-11-04T15:08:40.480 回答