天气预报api整理

1.新浪天气预报API

http://php.weather.sina.com.cn/xml.php?city=武汉&password=DJOYnieT8234jlsK&day=0

其中,city后的城市可用java.net.URLEncoder.encode(“武汉”,” gb2312”);也可以直接写武汉;但不能用”wuhan”

Password固定

Day0表示当天天气,1表示第二天的天气,2表示第三天的天气,以此类推,最大为4

返回的XML

说明:

标签中1表示白天,2表示夜间


<status>

< figure>

<direction>

<power>

<temperature>

<ssd>

<ssd_l>

<ssd_s>

<tgd>

<zwx>

<zwx_l>

<zwx_s>

<ktk>

<ktk_l>

<ktk_s>

<pollution>

<pollution_l>

<pollution_s>

<xcz>

<xcz_l>

<xcz_s>

<chy>

<chy_l>

<chy_shuoming>

<gm>

<gm_l>

<gm_s>

<yd>

<yd_l>

<yd_s>

<zho>

<zho_l>

<zho_shuoming>

<diy>

<diy_l>

<diy_shuoming>

<fas>

<fas_l>

<fas_shuoming>

<savedate_weather>

<savedate_life>

<savedate_zhishu>

天气情况中文

天气情况拼音

风向

风级

温度

体感指数数值

体感度指数

体感度指数说明

体感温度

紫外线指数数值

紫外线指数

紫外线指数说明

空调指数数值

空调指数

空调指数说明

污染指数数值

污染物扩散条件

污染指数说明

洗车指数数值

洗车指数

洗车指数说明

穿衣指数数值

穿衣指数

穿衣说明

感冒指数数值

感冒指数

感冒指数说明

运动指数数值

运动指数

运动指数说明

天气预报日期

生活日期

指数日期

2.中央气象台的API

www.weather.com

http://xoap.weather.com/weather/local/CHXX0138?cc=*&unit=m&dayf=2&link=xoap&prod=xoap&par=1220552427&key=c168fcf83120f8ed

CHXX0138 为武汉的天气代码

Unit=m 温度以摄氏度显示;去掉该参数,温度以华氏度显示

Dayf0,1返回当天天气,其他数字为多天天气,最大可为5,返回当天及往后4天的天气预报

Par为注册时返回的Partner ID: 1220552427

Key为注册时返回的License Key: c168fcf83120f8ed

说明:

Wuhan, China

11:37 AM

30.58

114.27

6:49 AM

5:26 PM

8

城市的天气代码

城市,国家

查询时间

纬度

经度

日出时间

日落时间

当前天气

11/16/10 10:00 AM Local Time

Wuhan, CHINA

48

48

Fog

20

更新时间

当前温度

体感温度

天气情况

天气图标

30.36

steady


2

N/A

0

VAR

风速2英里/小时

</</span>dayf>

传入的dayf参数,查询几天就有几个child

11/16/10 2:36 PM Local Time

-

N/A

43

6:49 AM

5:26 PM

-

44

N/A

-

N/A

N/A

N/A

N/A

N/A

10

N/A

-

33

Mostly Clear

-

5

N/A

131

SE

M Clear

10

92

更新时间

日期

高温

低温

日出时间

日落时间

白天天气情况

天气图标

风向

Chance of Precip:10%

夜间天气情况

天气图标

大部分地区晴朗无云

5英里/小时

东南风

风向:东南风

Chance of Precip:10%

3.www.weather.com.cn

http://m.weather.com.cn/data/101200101.html 数据页面

101200101 为武汉的城市代码

http://61.4.185.48:81/g/ 得到本机访问的IP,根据此IP查询到城市ID

var ip="61.183.248.221";var id=101200101;if(typeof(id_callback)!="undefined"){id_callback();}

再根据城市ID返回该城市天气信息

http://m.weather.com.cn/m/pn12/weather.htm

该地址为天气插件的代码

各城市ID 《中国天气网城市代码.txt

4.yahoo天气预报

http://xml.weather.yahoo.com/forecastrss?w=2163866&u=c

w对应各个地方在yahoo数据库中的WOEID,如北京的WOEID2151330;武汉为2163866

u 为温度的单位,c表示摄氏度;f表示华氏度

http://xml.weather.yahoo.com/forecastrss?p=CHXX0138&u=c

p为城市天气代码,不推荐使用

没有预报几天的参数(或未找到),返回的XML中含有当天和第二天的天气基本情况。

说明:

位置:城市,国家

单位:温度单位(摄氏),间距单位,气压单位,风速单位

风:冷风级别9,风向,风速3.22

大气情况:湿度,能见度,压强,

天文:日出6:49am,日落5:25pm

Conditions for Wuhan, CH at 10:00 am CST

30.58

114.27

Tue, 16 Nov 2010 10:00 am CST

纬度

经度

链接

更新时间/查询时间

天气情况:text天气情况(雾),code天气图标,temp温度9摄氏度,date日期

天气预报:day星期,date日期,low低温,high高温,text天气情况,code天气图标

 以上是中央气象台的API:

根据 下面的接口可获得城市天气情况  
http://www.weather.com.cn/data/sk/101010100.html 
http://www.weather.com.cn/data/cityinfo/101010100.html 
http://m.weather.com.cn/data/101010100.html  

返回的是json数据。上面三个url返回的数据是不一样的。具体自己尝试吧。数据非常全,101010100是北京的城市代码,所以还是需要城市代码的。


 Google Weather API (貌似已关闭)

只支持美国地区使用邮政编码进行查询,例如: 
http://www.google.com/ig/api?hl=zh-cn&weather=94043 
(94043 为 山景城, 美国加州 的邮政编码) 
而除了美国以外的地区需要使用经纬度坐标作为参数才能执行 Google Weather API, 例如: 
http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996 
(30670000,104019996 为 成都, 中国大陆 的经纬度坐标)


当然,也可能通行城市名称的汉语拼音来查询,例如:以下是北京的天气


http://www.google.com/ig/api?weather=Beijing



要其它地区的经纬度坐标,可以通过 Google API 提供的国家代码列表及相应的城市经纬度坐标列表可以查询到,以下是 Google API 提供的查询参数: 
http://www.google.com/ig/countries?output=xml&hl=zh-cn 
(查询 Google 所支持的所有国家的代码,并以 zh-cn 简体中文显示) 
http://www.google.com/ig/cities?output=xml&hl=zh-cn&country=cn

Google开放了一套天气预报API,还是很好用的。


使用邮政编码(美国)
http://www.google.com/ig/api?hl=zh-cn&weather=94043(加州山景城)


使用经度纬度坐标
http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996(成都)


使用通行城市名称
http://www.google.com/ig/api?weather=Beijing&hl=zh-cn(北京)
http://www.google.com/ig/api?weather=Osaka&hl=zh-cn(大阪)

http://www.google.com/ig/api?weather=Beijing&hl=zh(北京)
http://www.google.com/ig/api?weather=Osaka&hl=ja(大阪)


可以查找到哪些国家和城市呢?谷歌也提供了接口。返回的类型也可以根据output参数来指定。
查找国家  http://www.google.com/ig/countries?output=xml&hl=zh-cn (返回xml)
查找城市  http://www.google.com/ig/cities?hl=zh-cn&country=cn (返回json)


有了这些数据,在自己的应用里加入天气预报就不难了。


谷歌的天气预报API。优点在于可以直接获取支持查询天气的国家和城市。并且可以预报4天天气,支持经纬度查询天气(这个可以利用GPS做应用)。

posted @ 2013-05-31 13:02  crane13  阅读(601)  评论(0编辑  收藏  举报