论坛首页 编程语言技术论坛

Programable Web系列之:Google Ajax Feed

浏览 2182 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-30   最后修改:2009-06-30
google官方文档:http://code.google.com/intl/zh-CN/apis/ajaxfeeds/documentation/#fonje
Google Ajax Feed API不但提供了Javascript接口,对于 Flash 和其他非 Javascript 环境,该 API 将显示一个原始 RESTful接口,该界面会返回 JSON 编码结果。大多数语言和运行时都可轻松处理这些结果。

强大的供稿格式支持:
Google AJAX 供稿 API 支持以下供稿格式:
Atom 1.0
Atom 0.3
RSS 2.0
RSS 1.0
RSS 0.94
RSS 0.93
RSS 0.92
RSS 0.91
RSS 0.9
原理:
Google AJAX 供稿 API 使用 Feedfetcher 抓取供稿。由于 Google AJAX 供稿 API 使用 Feedfetcher,因此来自 Google AJAX 供稿 API 的供稿数据可能无法始终保持最新状态。Google 供稿抓取器(“Feedfetcher”)不到一小时就从大多数网站中检索一次供稿。某些经常更新的网站刷新次数可能更加频繁。Google 的抓取器 Feedfetcher 可以匿名下载供稿,对于 Google AJAX 供稿 API 提出的所有请求,Google 服务器可以用作该供稿的缓存。Google AJAX 供稿 API 仅提供对公共可访问供稿的访问。

http://github.com/collin/google_ajax_feed_api/tree
这是collin对google ajax feed api的封装,代码写的很漂亮..
下面简单演示一下:

$:.unshift File.join(File.dirname(__FILE__), "..", "lib")
require'google_ajax_feed_api'
include Google::Ajax
#自动发现feed
feed = Feed.lookup("http://hooopo.iteye.com")
puts feed.title
puts feed.link
puts feed.canonical_id
post = feed.entries.first
p post
puts post.content
feed.load :limit => 100 #google ajax feed api设置最大限制为100,但是可以自己设置100以内的最大返回feed条目数
p feed.entries.size
feed.load :limit => 100, :history => true #设置history,从google cache取出feed而不是现有feed。
p feed.entries.size
Feed.config.limit = 2 #设置返回feed数最多为10
Feed.config.history = true #设置从google cache获取feed
feed = Feed.lookup "http://hooopo.iteye.com"

feed.entries.each do |entry|
  puts entry.link
  puts entry.title
  puts entry.content
  puts "+"*40
end



这样一个功能强大的RSS发现+获取+解析工具就产生了..

比普通RSS解析工具的优点:
1.自动获取RSS源
2.支持格式广泛
3.速度快,直接从google获取..当然有被GFW的危险:P
4.支持缓存

PS:JE的博客导入功能很不爽,只支持RSS格式,想把ATOM格式的feed导入都不行..如果用这个就不费吹灰之力了.



   发表时间:2009-06-30  
对某些人来说,中国可以没有天,但不能没有google..哈哈

但是用google做一些非核心功能还是不错的选择。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics