用YQL跨域读取XML

标签:无

刚才在jQuery论坛看到版主提到YQL,于是试用了下,果然非常强大。

YQL与一般的查询语言不同,它是基于WEB的查询语言。它可以指定任意的网络文本资源(HTML、XML、JSON和CSV等),然后直接对该文件进行查询,并以XML或JSONP方式输出结果。
虽然听上去好像没什么了不起,但由于查询结果是直接以URL方式提供,而JSONP是可以很方便地跨域加载的,这就直接导致了可以用AJAX方式加载任意的网络文本资源。只要你愿意,你的网站可以随时与新浪之类的门户网站保持同步,以实时获取最新的新闻、财经等资讯,而服务器却不需要保存或下载这些资料。

例如我要查询新浪的最新新闻,我知道有这样一个地址:
http://rss.sina.com.cn/news/marquee/ddt.xml
于是登录YQL Console,查询条件输入:
select * from xml
where url='http://rss.sina.com.cn/news/marquee/ddt.xml'
然后选择JSON方式,callback设为sinanews(这个随便你怎么写),点击TEST按钮后,下面便会出现查询结果,右侧也会给出JSONP方式的链接。
将这个链接记下,就能在你的网站使用这个资源了,是不是超简单…

当然这项服务也是有限制的:
  • 每个应用程序(根据Access Key来区分)每天最多调用100,000次。
  • 每个IP每小时:
    /v1/public/* 1000次
    /v1/yql/* 10000次
如果不够的话,可以发信给yql-questions [at] yahoo-inc.com去申请。

最后补充一句,雅虎真是好人,给你一张卡~

1条评论 你不来一发么↓ 顺序排列 倒序排列

    向下滚动可载入更多评论,或者点这里禁止自动加载

    想说点什么呢?