4

看到 YQL 被宣传为一种很好的做事方式,我很好奇如何使用 YQL 获取并将 2 个不同的提要合并为一个(按 pubDate 排序)。

获取 2 个提要非常简单,但事实证明这些提要只是连接在一起而不是合并。

这是示例代码。

select channel.title,channel.link,channel.item.title,channel.item.link
    from xml where url in(
      'http://code.flickr.com/blog/feed/rss/',
      'http://feeds.delicious.com/v2/rss/codepo8?count=15',
      'http://www.stevesouders.com/blog/feed/rss',
      'http://www.yqlblog.net/blog/feed/',
      'http://www.quirksmode.org/blog/index.xml'
    )
4

3 回答 3

3

感谢您提供此信息。它在访问 rss 对象时也有效:

select title,link,pubDate from rss where url in (
    'http://feeds.delicious.com/v2/rss/hasematzel?count=3',
    'http://oliverschwarz.tumblr.com/rss',
    'http://twitter.com/statuses/user_timeline/818226.rss',
    'http://hasematzel.de/blog/feed/',
    'http://piepmatzel.de/feed/'
) | sort(field="pubDate", descending="true")

这是创建新闻编辑室或生活流的一种非常简单的方法。不要忘记强制缓存 YQL 返回 :)

于 2010-05-26T13:16:31.683 回答
2

这应该可以解决问题

select channel.item.title,channel.item.link, channel.item.pubDate
    from xml where url in(
      'http://code.flickr.com/blog/feed/rss/',
      'http://feeds.delicious.com/v2/rss/codepo8?count=15',
      'http://www.stevesouders.com/blog/feed/rss',
      'http://www.yqlblog.net/blog/feed/',
      'http://www.quirksmode.org/blog/index.xml'
    )
  | unique(field="channel.item.link")
  | sort(field="channel.item.pubDate", descending="true")

使用独特的后查询功能来过滤重复和排序以重新排序您的结果。这里是这些函数的文档链接http://developer.yahoo.com/yql/guide/sorting.html

于 2010-04-27T19:45:15.307 回答
1

至于 RSS 问题——YQL 总是返回 XML——如果你想把它变成一个 RSS 提要,你也可以使用 Yahoo Pipes 和 YQL 模块将它作为 RSS 来获取。

于 2010-05-27T13:46:21.303 回答