雅虎每小时仅管道一件物品

时间:2013-11-03 13:34:38

标签: yahoo-pipes

您好我正在构建一个Yahoo Pipe来为我的Facebook Fanpage提供信息。我有很多RSS源,可以流式传输图片,我希望每小时将输出限制为一张图片。但我对管道是全新的,无法找到可理解的教程。管道看起来像那样

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

1 个答案:

答案 0 :(得分:0)

您可以使用此算法执行此操作:

  1. 创建一个新字段,其中包含截断为小时的日期
  2. 在此新字段上使用唯一运算符,每小时只能获得一个项目
  3. 您可以使用以下管道实现此目的:

    1. 使用重命名运算符将pubDate复制到datepart,使用params:

      • item.pubDate
      • 复制为
      • datepart
    2. 使用正则表达式运算符截断datepart,使用params:

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

      也就是说,由于日期字段表示为YYYY-mm-DDTHH:MM:ssZ,我们将前13个字符用于获取日期部分直到小时并丢弃其余部分。例如,如果pubDate2013-11-03T13:34:37,那么我们会2013-11-03T13

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

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

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

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

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