利用Yahoo Pipes和jQuery做一个RSS挂件

来源:Bolo的博客 时间:2010-06-08 13:40:00 

如果我们希望把一个网站的更新实时发布到另一个网站上,最好的方法是通过 RSS 进行转载。如果只是需要简单的对更新的条目做个提示的话,使用 JavaScript 是最可行的方法。但是通过 JavaScript 解析一个 XML 文档十分麻烦。幸好 Yahoo Pipes 为我们提供了非常好的 RSS to JSON 功能,我们可以先把 RSS 转换成 JSON 再用 JavaScript 进行解析,这样比直接解析 XML 简单得多!

把 RSS 转换成 JSON

首先登录 http://pipes.yahoo.com ,新建一个 Pipe ( Creat a Pipe ) 。然后在左边的工具里选择 Sources > Fetch Feed ,在输入框里输入一个 RSS 地址。再用线把 Fetch Feed 和 Pipe Output 两个框框连起来(如右图),保存这个 Pipe,然后点击顶部的 Run Pipe… 。点击 Publish 发布这个 Pipe ,然后记下 Get as JSON 的 URL。简单几步就已经把一个 RSS 转换成 JSON 了,而且这个 JSON 会根据 RSS 的更新自动更新。

通过 jQuery 解析 JSON

jQuery 本身为我们提供了一个 getJSON() 函数,为我们解析 JSON 提供简单快捷的方法。

由于我希望做一个 AJAX 载入项目的效果,我先做一个 HTML 框架,然后通过 jQuery 的 append 方法把解析出来的内容添加到指定的容器里。HTML框架如下:

<div id="rssdata"> <ul class="rss-items"></ul> <div class="loading">Loading RSS items...</div></div><p>然后编写 jQuery 调用:</p>



 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script><script type="text/javascript">$('#rssdata').ready(function() { // JSON 地址 = 刚才记下的 URL + &_callback=? var pipe_url = 'http://pipes.yahoo.com/pipes/pipe.run?_id=90caf3b6ba8f36459a3137248b47620e&_render=json&_callback=?';  $.getJSON(pipe_url,function(data) {  // 遍历 JSON 项目,并且确定输出哪些信息  $(data.value.items).each(function(index,item) {   var item_html = '<li><a href="'+item.link+'">'+item.title+'</a></li>';   // 把输出的内容插入页面里   $('#rssdata ul.rss-items').append(item_html);   });  // 添加条目载入效果  $('#rssdata div.loading').fadeOut();  $('#rssdata ul.rss-items').slideDown(); });});</script>


当然要页面美观的话,写一些 CSS 是必要的,这个可以随自己的喜好而定。最终的效果可以看这个 DEMO

标签:yahoo,jquery,RSS
0
投稿

猜你喜欢

  • django模板结构优化的方法

    2023-11-12 11:57:02
  • 详解php中的类与对象(继承)

    2023-11-23 14:07:09
  • css表单中textarea域背景图片设置方法

    2008-04-21 13:56:00
  • Python实现将长图制作成一个视频

    2022-09-28 06:09:09
  • MAC下mysql安装配置方法图文教程

    2024-01-17 22:38:46
  • Python中Numpy ndarray的使用详解

    2022-08-08 19:03:05
  • CSS 设计中的黄金分割率应用

    2008-11-12 12:17:00
  • Python数据可视化 pyecharts实现各种统计图表过程详解

    2022-04-08 17:28:37
  • Python 实现网页自动截图的示例讲解

    2023-10-23 09:48:48
  • 用Python编程实现语音控制电脑

    2022-01-06 22:53:57
  • 浅谈Python基础—判断和循环

    2021-04-21 03:53:46
  • Tornado路由与Application的实现

    2021-01-26 19:56:59
  • vue 修改 data 数据问题并实时显示操作

    2024-05-02 17:00:53
  • Python将多个excel文件合并为一个文件

    2021-10-16 14:06:55
  • 查询数据表中的记录(SELECT)

    2009-02-27 16:06:00
  • Python利用prettytable实现格式化输出内容

    2023-10-17 11:02:32
  • python源文件的字符编码知识点详解

    2021-04-30 08:05:04
  • Python判断是否json是否包含一个key的方法

    2023-02-25 02:58:40
  • 如何优雅、安全的关闭MySQL进程

    2024-01-27 06:33:27
  • Python中Subprocess的不同函数解析

    2022-03-10 05:23:00
  • asp之家 网络编程 m.aspxhome.com