使用Yahoo Pipes从多个站点单个订阅源条目

时间:2014-06-03 10:37:37

标签: yahoo-pipes

我需要创建一个管道,它将从多个站点中提取源,比如说20个。在输出中,我希望每个站点都有一个条目(最新的),没有重复或重复,并按日期降序排列。说,最后,我的结果中有20个项目可供使用,每个项目来自每个站点。我希望我的问题很清楚。请问最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

您可以通过创建2个管道来完成此操作:

  1. 获取Feed的管道(20个中的一个),并在1个项目之后截断
  2. 另一个循环遍历Feed网址,另一个网址调用第一个管道
  3. 这是第一个管道的示例:

    http://pipes.yahoo.com/pipes/pipe.info?_id=106eaba3d5fe1f43805fd4094b11186d

    以下是第二个例子:

    http://pipes.yahoo.com/pipes/pipe.info?_id=290ef8130a4ff423a8d977493bbc669d

    基于以上两点,你应该能够准确地创建你需要的东西。

    对于类似的例子,另见其他答案:

    Yahoo Pipes how to truncate items per feed with multiple feeds

答案 1 :(得分:0)

我知道这是一个非常古老的问题。也许你已经找到了一个解决方案,但我想我可以试一试。

如果我正确理解了这个问题,那么您可以从20个链接中提取RSS源,并希望从每个链接中获取最新的帖子。

您可以使用YQL模块执行此操作。像这样:

select * from yql.query.multi where queries="SELECT * from feed where url = 'http://www.discofilter.com/feeds/posts/default'|sort (field='published', descending = 'true') | truncate (count=1); SELECT * from feed where url = 'http://dotsanddashes.co.uk/feed/'|sort (field='pubDate', descending = 'true') | truncate (count=1)"

对此有一些documentation

我在这里读到其他人提到你一次可以做多少查询是有限制的,但其他人回复并说这不是真的。我不了解自己,但你可以试一试。

代码使用内置的Yahoo数据表(yql.query.multi)然后提取多个提要(在“;”内)。然后你使用 -

select * from feed where url = ' ' 

从那里,您使用排序和过滤:

|sort (field = 'published', descending = 'true')|truncate (count=1)

它并不完全优雅,但我认为它会按照你的要求一步完成。