2014/02/20
目前我们的软件中采用的是从雅虎Api获取天气,
从雅虎获取天气相关资料链接是:
http://zhidao.baidu.com/question/161352375
yahoo天气预报的url是http://weather.yahooapis.com/forecastrss?w=2151330&u=c参数w对应各个地方在yahoo数据库中的WOEID,如北京的WOEID是2151330,目前也可以用参数p来代替w,不过官方还是推荐用w,p是计划要被取消的。参数u用于确定温度的单位(c是摄氏度f是华氏度)。对于中国(国外没比较)的天气查询来说,yahoo相对无论从能查到的地方还是预报的内容都是比较全的。
我们采用的是p方法,即上文所指的计划取消的方法
从雅虎获取天气码的方式如下链接:http://bbs.weiphone.com/read-htm-tid-3451039.html
举例,首先在http://weather.yahoo.com/ 输入城市“Idre”,然后可搜索出该城市的天气:http://weather.yahoo.com/sweden/dalarna/idre-894059/,这里边的天气码是894059,是W方法使用的天气码
而p码需要点击该页面下方的Extended Forecast获取,得到该城市的天气:http://www.weather.com/weather/5-day/Idre+SWXX1177:1:SW,其中的天气码就是我们目前使用的SWXX1177.
而对于这个城市,采用p方法获取不到天气,显示如下:
http://weather.yahooapis.com/forecastrss?p=SWXX1177&u=F
而采用w方法则可以获取到天气,显示如下:
http://weather.yahooapis.com/forecastrss?w=894059&u=F
所以两种方式可以结合起来,或者使用W方法
雅虎天气API文档:http://developer.yahoo.com/weather/
注释文档:http://ryee.javaeye.com/blog/693203