当前位置: 首页 > 工具软件 > YQL > 使用案例 >

使用YQL(Google Feed API替代方案)显示RSS源(2)

濮波
2023-12-01

步骤3: 要使用YQL显示RSS源,我们只需构造正确的YQL查询字符串,该字符串可以获取目标RSS源,可选地对它们进行排序和过滤,然后将结果作为JSON对象返回进行成型进入人类可读的东西。 以下显示了用于以各种方式获取RSS提要的最常见的YQL查询字符串:

  • select * from rss where url = "rssurl"  //获取1个RSS提要的内容
  • select * from rss where url in ("rssurl", "rssurl2", etc)  //获取多个RSS提要的内容
  • select * from rss(0, 5) where url = "rssurl"  //从RSS提要中获取前5个条目
  • select * from rss where url = "rssurl" | sort(field="pubDate", descending="true")  //按特定字段排序Feed(即:pubDate)

还有就是  YQL控制台 ,你可以用它来输入现场YQL查询,看看被返回了什么,也是  YQL指南  关于构建查询更多信息。

一旦我们收到了所需的RSS提要作为JSON对象,最后一步就是解析并显示它。 以下简单示例显示了QZ.com的前5个RSS条目:

代码:

1
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<div id= "qznews" ></div>
 
<script>
YUI().use( 'yql' , function (Y){
     var query = 'select * from rss(0,5) where url = " http://qz.com/feed/ "'
     var q = Y.YQL(query, function (r){
         //r now contains the result of the YQL Query as a JSON
         var feedmarkup = '<p>'
         var feed = r.query.results.item // get feed as array of entries
         for ( var i=0; i<feed.length; i++){
             feedmarkup += '<a href="' + feed[i].link + '">'
             feedmarkup += feed[i].title + '</a><br />'
             feedmarkup += feed[i].description + '</p>'
         }
         document.getElementById( 'qznews' ).innerHTML = feedmarkup
     })
})
</script>

演示:

如您所见,YQL查询完成后,该参数 r  将结果包含为JSON对象。 要访问实际的feed,我们引用 r.query.results.item ,它返回一个RSS条目数组。 每个条目的各个组件,例如“标题”,“描述”等,存储在每个数组条目内的相应属性中。 您的浏览器控制台是您检查  r 参数 内容的最佳朋友 ,包括YQL查询中存在错误或订阅源无法加载时。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69933200/viewspace-2651464/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69933200/viewspace-2651464/

 类似资料: