中央气象台天气预报api调用
今天突然要做一个天气预报的应用,上网搜了一下,发现可用的api其实挺多的,包括谷歌、雅虎、中央气象台等等。
谷歌的天气预报的优点在于可以直接获取支持查询天气的国家和城市。并且可以预报4天天气,支持经纬度查询天气(这个可以利用GPS做应用)。缺点也是惊人的:支持的中国城市比较少。
雅虎的天气预报返回的是xml数据,我需要的是json数据,所以也没什么好感。
最终还是决定使用中央气象台的。中央喔,好像很牛B的样子。
该api获取天气的接口如下:
http://www.weather.com.cn/data/sk/101281601.html
http://www.weather.com.cn/data/cityinfo/101281601.html
http://m.weather.com.cn/data/101281601.html
http://www.weather.com.cn/data/cityinfo/101281601.html
http://m.weather.com.cn/data/101281601.html
3种返回的数据稍微有些不同,至于使用哪一种,看个人喜欢吧~~
值得说明的是101281601是城市在中央气象台数据库中城市码,获取的方法有些麻烦,有以下几个步骤:
1. 通过 http://m.weather.com.cn/data5/city.xml 获取省份列表;
2. 通过 http://m.weather.com.cn/data5/city28.xml 获取该省份的城市列表,其中28为广东省代号,1中所返回的;
3. 通过 http://m.weather.com.cn/data5/city2816.xml 获取该城市的区列表,其中2816为东莞市代号,2中所返回的;
4. 通过 http://m.weather.com.cn/data5/city281601.xml 获取最后的城市码,其中281601为3中返回;
5. 通过 api获取天气信息;
值得注意的使,上述的这些列表信息虽然文件后缀名未xml,但是里面只是一条字符串,不符合xml的格式,所以,直接用浏览器打开,会显示xml解释出错。。。。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步