您好我正在构建一个Yahoo Pipe来为我的Facebook Fanpage提供信息。我有很多RSS源,可以流式传输图片,我希望每小时将输出限制为一张图片。但我对管道是全新的,无法找到可理解的教程。管道看起来像那样
RSS1 RSS2 ... RSSn
| | |
+-----UNION----+
|
PIPE OUTPUT
答案 0 :(得分:0)
您可以使用此算法执行此操作:
您可以使用以下管道实现此目的:
使用重命名运算符将pubDate
复制到datepart
,使用params:
item.pubDate
datepart
使用正则表达式运算符截断datepart
,使用params:
item.datepart
^(.{13}).*
$1
也就是说,由于日期字段表示为YYYY-mm-DDTHH:MM:ssZ
,我们将前13个字符用于获取日期部分直到小时并丢弃其余部分。例如,如果pubDate
为2013-11-03T13:34:37
,那么我们会2013-11-03T13
。
使用基于item.datepart
的唯一运算符来过滤项目
作为一个简单的演示,我为你整理了一个管道,显示每月1个问题在stackoverflow上标记为yahoo-pipes
:
http://pipes.yahoo.com/pipes/pipe.info?_id=72fea3931e145324f308f0d5f6852d93
请注意,根据放置这些元素的位置,您将得到不同的结果。例如,您可以在联合之后放置此逻辑,以便每小时从所有源Feed中合并一个图像。或者你可以在你的联盟之前设置这个逻辑,每个Feed每小时获得一张图片。
如果每小时有多张图片,您可能还会问,哪一张会被挑选?第一个。我认为默认排序是 pubDate 。要使Yahoo Pipes选择不同的项目,请在唯一之前插入适当的排序运算符。