天气预报API开发

Posted PikachuTT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了天气预报API开发相关的知识,希望对你有一定的参考价值。

天气预报API开发

一、        寻觅篇

最近想要跟着视频练习一下利用API开发一个天气预报系统,就在网上找了一下可以用的API,结果好多都已经失效了。。。

 

1.       百度车联网天气预报API(失败)

首先是找了视频了的百度开发者平台 – LBS – 车联网 – 天气预报API,结果发现已经在2015年12月停止服务了

 

2.       中国天气网API(失败)

没办法,既然百度不鸟我了,只能继续找找看有没有别的了。难道就百度一家做生意么?

 

百度了一下“天气预报API”(^-^),发现还有一个老牌的API接口,大家都在用:

 

国家气象局提供的天气预报接口,听着就好霸气:

返回以下内容

 

返回以下内容

 

  • http://m.weather.com.cn/data/101010100.html  (返回7天的天气情况)

 

第三个据说返回的信息比较全面,但是看了下点开后的页面,还是算了

第一个和第二个看上去貌似挺正常的,就是返回的信息少了点,捏着鼻子也能用。。。

等等,好像有什么地方不对北京的温度今天是:-2℃?我看了下右下角的日历,恩, 5月20日,好日子啊 – 虐狗日。886

 

3.       新浪天气API(搞不定)

继续寻觅,又找到了个新浪天气API,

http://php.weather.sina.com.cn/xml.php?city=%B1%B1%BE%A9&password=DJOYnieT8234jlsK&day=0

 

点击了下,如下图

 

框起来的部分有温度信息,大概可以搞搞

在搞起之前先试试其他的城市怎么样吧。于是我把URL改成了这样:

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

 

什么鬼,难道是汉字要转码么?于是我又转了下码

 

结果发现是我想多了,现在看来应该是后面的额PASSWORD部分,要我自己搞一个,但是也不知道去哪搞,算了,继续找吧

 

 

这次在博客园里找找看有没有最近几个月里的帖子里说道天气预报API的,结果还真找到了个:

 

4.       和风天气API(OK)

 

 

各种接口API文档。。。好详细的说。顿时泪流满面

 

赶紧注册下搞起来

终于有信息返回来了,好详细,决定了就用这个。

 

 

二、        解析篇

本以为可以既然找到了API了,接下来还不是随便2下子就搞定了。

结果还没开始就又被挡住了。。

 

这是什么鬼,怎么json的名称部分还可以有空格的。

试了下这种写法echo  $data.HeWeather data service 3.0[0].aqi.city;不出所料是我想的太简单了,这样子怎么可能取得到数据

 

继续百度。看到有人这样写echo  $data[‘HeWeather data service 3.0’][0].aqi.city;我也试试看,结果还是没反应

 

冷静,这种奇葩的格式,一定是人家字符串拼接出来的,既然返回的是一个json的话,是不是可以先把它当做字符串先处理下:

 

好了终于用json_decode转成了多维数组的形势,转完之后再用json_encode我自己来转成json格式,输出到前端。剩下的就是在前端取值后放到合适的位置了

 

以上是关于天气预报API开发的主要内容,如果未能解决你的问题,请参考以下文章

如何使用中国气象局API开发天气APP

如何使用百度天气预报API接口

微信公众平台如何在开发模式下设置天气预报自动回复

免费天气api_高速稳定的天气数据_高速稳定的天气API接口

开放平台(接口)开发-1-天气API接口大全

「教程」天气预警 API 详解:申请密钥到接入代码一气呵成!