您的位置:首页 > 运维架构 > 网站架构

开发天气预报 各网站的接口和实例

2013-03-04 10:40 531 查看
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”。
上面的城市可以自定,比如 福州可改成别的,各个城市的代码请参考

/article/7768200.html

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

参考以下网站:
http://www.cocoachina.com/newbie/basic/2011/1018/3381.html
JSON与XML的区别

http://hi.baidu.com/lxiaohai/item/cac7332688af004347996200

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

与XML一样,JSON也是基于文本的,且它们都使用Unicode编码,同样具有可读性 ,xml SDK 中有自带的类库,json一般都是利用第三的库来访问
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: