天气预报接口

1.雅虎天气预报网站:http://hk.weather.yahoo.com/

(1)主要的软件有雅虎天气软件,传统黄历91黄历天气v2.0.1

(2) 提供的天气预报接口的说明:如下

使用雅虎访问程序的解析参考如下网址

http://download.csdn.net/download/zsd406095755/3676406

http://bbs.9ria.com/thread-49642-1-1.html

http://kb.cnblogs.com/page/42993/2/

yahoo天气预报的url是

http://weather.yahooapis.com/forecastrss?w=2151330&u=c(返回的是XML数据)

地址编号必须是一个WOEID,可以通过雅虎的天气预报首页查询你需要的地址编号。这个编号在
想要的那个城市天气预报页的URL中。也可以通过在首页中输入你的邮政编码查询WOEID。例如,你想查询广州的天气情况,这个城市的天气预报页的URL是
http://weather.yahooapis.com/forecastrss?p=CHXX0037&u=c,所以它的WOEID是0037.

提供一份网上搜索到的雅虎天气预报城市代码:雅虎天气预报城市代码

 

(3)优缺点

优点:搜集到的城市代码较全,获得的信息较为全面

缺点:支持近两天的天气情况。

2.Google天气预报网站

(1)主要的软件有 手机Google天气预报,软件有 Google map 软件(主要是查看天气和GPS)等等。

(2)提供的天气预报接口的说明 http://blog.csdn.net/fengyun1989/article/details/7341166

Google开放了一套天气预报API
(1).使用邮政编码(美国)
http://www.google.com/ig/api?hl=zh-cn&weather=94043(加州山景城)
(2).使用经度纬度坐标
http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996(成都)
使用通行城市名称
(3)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)

(3)优缺点

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

缺点:支持的中国城市比较少。准确度不是很好,具体可以通过 http://www.google.com/ig/cities?hl=zh-cn&country=cn查询。

3.新浪天气预报网站  http://weather.news.sina.com.cn/

(1)  主要的软件有 天气通软件,新浪天气预报软件

(2)提供的天气预报接口的说明
http://php.weather.sina.com.cn/xml.php?city=武汉&password=DJOYnieT8234jlsK&day=0

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

上面的城市可以自定,比如 福州可改成别的,各个城市的代码请参考

http://blog.csdn.net/qq910894904/article/details/7540093

http://ishare.iask.sina.com.cn/f/13187840.html?from=like

http://www.soft6.com/v9/2009/jckf_0420/99924.html

4.中国天气预报网站http://www.weather.com.cn/

(1)  主要的软件有 中国天气通软件

(2)  提供的天气预报的接口说明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

其中101110101是城市的代码

具体的信息参考网站http://wishblog.sinaapp.com/378

返回的是json数据。数据非常全,101010100是北京的城市代码

(3)优点:调用的接口很方便,各个城市的信息比较详细。

如果要查看天气数据格式或者具体类型。可以直接复制链接到浏览器执行就能看到数据了。

 

5.QQ天气预报网站    http://cd.qq.com/weather/

(1)  主要的软件有 QQ天气

(2)提供的天气预报接口的说明

代码 :http://appnews.qq.com/cgi-bin/news_weather_search?city=厦门” allowTransparency=”true”<
效果 

 

http://blog.163.com/rongyao_xu/blog/static/1177693012010023380307/

(2)   优缺点

优点:信息比较准确可靠,气象信息由中央气象台提供。接口和样式多样化

 

iphone简单的程序例子:

1.利用JSON访问网页信息,json方式访问网站的方式,调用第三方库来解析Json

根据各个网站访问的接口来获得数据

 

1.  – (IBAction)btnPressTouchJson:(id)sender {

2.      //获取API接口

3.      NSURL *url = [NSURL URLWithString:@”http://m.weather.com.cn/data/101010100.html”];

4.      //定义一个NSError对象,用于捕获错误信息

5.      NSError *error;

6.     NSString *jsonString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];

7.      NSLog(@”jsonString—>%@”,jsonString);

8.      //将解析得到的内容存放字典中,编码格式为UTF8,防止取值的时候发生乱码

9.      NSDictionary *rootDic = [[CJSONDeserializer deserializer] deserialize:[jsonString dataUsingEncoding:NSUTF8StringEncoding] error:&error];

10.     //因为返回的Json文件有两层,去第二层内容放到字典中去

11.     NSDictionary *weatherInfo = [rootDic objectForKey:@”weatherinfo”];

12.     NSLog(@”weatherInfo—>%@”,weatherInfo);

13.     //取值打印

14.     txtView.text = [NSString stringWithFormat:@”今天是 %@  %@  %@  的天气状况是:%@  %@ “,[weatherInfo objectForKey:@”date_y”],[weatherInfo objectForKey:@”week”],[weatherInfo objectForKey:@”city”], [weatherInfo objectForKey:@”weather1″], [weatherInfo

测试:

2012-10-14 10:46:11.685 myWebView[4747:f803] the weather->今天是 2012年10月14日星期日北京的天气状况是:晴转多云  18℃~8℃

 

 

2.利用XML访问网站的信息:

XML 访问网站的方式系统自带有两种方式一个是通过libxml,一个是通过NSXMLParser

 

不得不说是一个很好的办法,而且事实上google maps就没有采用XML传递数据,而是采用了JSON方案

与XML一样,JSON也是基于文本的,且它们都使用Unicode编码,同样具有可读性 ,xml SDK 中有自带的类库,json一般都是利用第三的库来访问

Leave a Comment