一个可以用的天气API
2014-08-13 17:23
302 查看
Yahoo Weather API
在拿inSysu做实验的时候,发现以前一直在用的腾讯天气的API关闭了。就去找了一下其他的天气API,然后发现大家推荐的中国天气网的API太不科学了。我想请求一次天气需要:拿到经纬度
地理反查询拿到城市
查表获取地区代号
用代号调用API查询天气。
看起来还好,但是那个查表的过程,实在是太猎奇了,也没什么文档。
之后去对比了一下国外服务,看到的要么就是严重不准确,要么就是收费的如Google、Weather.com,我一个公益项目这样太不值了。
选来选去,就使用和iOS一样的数据提供商雅虎吧,虽说也不怎么省事。
Yahoo Query Language
雅虎天气的API有两套,我们这里选择这个看起来高大上的YQL API。实际上就是把SQL URLEncode一下,扔到了HTTP GET的参数中。
一个Query的结构参数如下
参数名 | 参数值 | |
---|---|---|
q | YQL 查询语句 | |
Diagnostics | true/false | |
format | json/xml |
Where On Earth IDentifier
雅虎天气是通过 WOEID来返回天气的,那么首先我们先要知道我们所在地点的WOEID。雅虎也提供了这个查询机制,而且很方便对应的终端是http://developer.yahoo.com/yql/console/?debug=true#h=select+*+from+geo.placefinder+where+text%3D%22sfo%22
这里text键值可以用 中文、英文、经纬度。如
1 2 3 4 5 | select * from geo.placefinder where text="Guangzhou" select * from geo.placefinder where text="北京" select * from geo.placefinder where text="39.9919336,116.3404132" |
Weather
这一步就简单了1 | select * from weather.forecast where woeid=2502265 and u="c" |
这里注意一点,天气的返回值里面有一个code,那个代表的是各种天气类型,暴风雨啊龙卷风啊冰雹啊之类的。
code 的 具体对照表可以参考 rss的雅虎天气api…
Mar 18th, 2014
雅虎天气
Comments
Comments
Copyright © 2014 Xiaoxuan Tang
相关文章推荐
- 这是一个老40上面可以运行的3D API,暂时告一段落。
- Google API 天气数据缓存到一个XML中
- 一个可以禁用USB存储设备的程序(SetupAPI的使用方法)
- 一个可以在线编写API文档和说明文档的php应用
- 一个Windows C++的线程类实现(封装API,形成一个类,但不完善。其实可以学习一下Delphi的TThread的写法)
- 一个可以禁用USB存储设备的程序(SetupAPI的使用方法)
- 又是一个可以免费烤肉串的天气啊
- 本人写的如何使用DFS API 合并为一个大的天气数据文件
- 一个天气api
- opengl离屏渲染(不需要和窗口绑定,仅当作一个可以渲染一张图片的API使用)+ opencv显示
- 免费天气API,全国天气 JSON API接口,可以获取五天的天气预报
- 分享一个免费返回天气及空气质量的API
- 免费天气API,全国天气 JSON API接口,可以获取五天的天气预报
- 调用天气API的一个实例
- 如何判断一个C++对象是否在堆栈上(通过VirtualQuery这个API来获取堆栈的起始地址,然后就可以得到答案了),附许多精彩评论
- 使用API实现的一个增加系统桌面,并且可以任意切换的小程序.
- iPhone 利用CG API画一个饼图(Pie chart) 可以用在很多地方 画弧线
- opengl离屏渲染(不需要和窗口绑定,仅当作一个可以渲染一张图片的API使用)+ opencv显示
- jQuery 1.7 正式版已经可以下载使用。jQuery是一个JavaScript库,它简化了HTML文档遍历,事件处理,动画和为网络快速发展的Ajax交互。jQuery 1.7 版本加入了新的事件API .on() 和 .off(),提
- 用PHP画一个可以更换文字的按纽