美文网首页
天气API接口说明

天气API接口说明

作者: 西草锅锅 | 来源:发表于2017-10-27 15:20 被阅读0次

    天气API接口稳定的确实没有,除非是天气官方提供的, 但是我观察了下,要是合作伙伴才有开放的可能。

    其他的,例如:百度 APIStore、一些同学在其他网站上抓包下来的接口,以及什么各种收费的 API,都没有稳定的。

    现在,我们网站收集了8个天气接口,采用微服务的方式提供出来,响应效率高,可以达到不限制次数。关键是免费的,而且会提供XMLJSON两种方式返回。

    接口返回的天气指数数据很全面,如:温度最高温度最低温度天气空气质量指数

    参数只有一个,就是citycity在传参的时候,支持的城市可以带上市、县、区之类,如:深圳市、顺德区、长沙市、长沙等等。


    天气API JSON返回方式

    我测试一下请求北京的天气,链接为:http://www.sojson.com/open/api/weather/json.shtml?city=北京

    返回成功状态为:200,失败为 非200

    天气API JSON返回方式(成功):

    {
        "status": 200,
        "data": {
            "wendu": "29",
            "ganmao": "各项气象条件适宜,发生感冒机率较低。但请避免长期处于空调房间中,以防感冒。",
            "forecast": [
                {
                    "fengxiang": "南风",
                    "fengli": "3-4级",
                    "high": "高温 32℃",
                    "type": "多云",
                    "low": "低温 17℃",
                    "date": "16日星期二"
                },
                {
                    "fengxiang": "南风",
                    "fengli": "微风级",
                    "high": "高温 34℃",
                    "type": "晴",
                    "low": "低温 19℃",
                    "date": "17日星期三"
                },
                {
                    "fengxiang": "南风",
                    "fengli": "微风级",
                    "high": "高温 35℃",
                    "type": "晴",
                    "low": "低温 22℃",
                    "date": "18日星期四"
                },
                {
                    "fengxiang": "南风",
                    "fengli": "微风级",
                    "high": "高温 35℃",
                    "type": "多云",
                    "low": "低温 22℃",
                    "date": "19日星期五"
                },
                {
                    "fengxiang": "南风",
                    "fengli": "3-4级",
                    "high": "高温 34℃",
                    "type": "晴",
                    "low": "低温 21℃",
                    "date": "20日星期六"
                }
            ],
            "yesterday": {
                "fl": "微风",
                "fx": "南风",
                "high": "高温 28℃",
                "type": "晴",
                "low": "低温 15℃",
                "date": "15日星期一"
            },
            "aqi": "72",
            "city": "北京"
        },
        "message": "OK"
    }
    

    天气API JSON返回方式(失败)

    失败情况下一般是参数问题,参数不识别。

    {
        "status": 400,
        "message": "Check the parameters."
    }
    

    天气API XML返回方式

    我测试一下请求北京的天气,链接为:http://www.sojson.com/open/api/weather/xml.shtml?city=北京

    天气API XML返回方式(成功)

    <?xml version="1.0" encoding="UTF-8"?>
    <resp>
        <city>北京</city>
        <updatetime>13:35</updatetime>
        <wendu>29</wendu>
        <fengli>4级</fengli>
        <shidu>28%</shidu>
        <fengxiang>南风</fengxiang>
        <sunrise_1>04:59</sunrise_1>
        <sunset_1>19:23</sunset_1>
        <sunrise_2></sunrise_2>
        <sunset_2></sunset_2>
        <environment>
            <aqi>72</aqi>
            <pm25>52</pm25>
            <suggest>极少数敏感人群应减少户外活动</suggest>
            <quality>良</quality>
            <MajorPollutants>颗粒物(PM2.5)</MajorPollutants>
            <o3>162</o3>
            <co>1</co>
            <pm10>90</pm10>
            <so2>9</so2>
            <no2>33</no2>
            <time>13:00:00</time>
        </environment>
        <alarm>
            <cityKey>10101</cityKey>
            <cityName>
                <![CDATA[北京市]]>
            </cityName>
            <alarmType>
                <![CDATA[森林火险]]>
            </alarmType>
            <alarmDegree>
                <![CDATA[橙色]]>
            </alarmDegree>
            <alarmText>
                <![CDATA[北京市气象台发布森林火险橙色预警]]>
            </alarmText>
            <alarm_details>
                <![CDATA[市森防办与市气象台于5月5日至15日联合发布森林火险橙色预警:5日有5级偏北风,阵风达7、8级;6-15日有3、4级偏北风,阵风达6级,气温高、空气干燥,湿度较小。请广大市民注意森林防火,森林火灾报警电话12119。]]>
            </alarm_details>
            <standard/>
            <suggest/>
            <imgUrl>
                <![CDATA[]]>
            </imgUrl>
            <time>2017-05-04 19:30:00</time>
        </alarm>
        <yesterday>
            <date_1>15日星期一</date_1>
            <high_1>高温 28℃</high_1>
            <low_1>低温 15℃</low_1>
            <day_1>
                <type_1>晴</type_1>
                <fx_1>南风</fx_1>
                <fl_1>微风</fl_1>
            </day_1>
            <night_1>
                <type_1>多云</type_1>
                <fx_1>南风</fx_1>
                <fl_1>微风</fl_1>
            </night_1>
        </yesterday>
        <forecast>
            <weather>
                <date>16日星期二</date>
                <high>高温 32℃</high>
                <low>低温 17℃</low>
                <day>
                    <type>多云</type>
                    <fengxiang>南风</fengxiang>
                    <fengli>3-4级</fengli>
                </day>
                <night>
                    <type>晴</type>
                    <fengxiang>西北风</fengxiang>
                    <fengli>微风级</fengli>
                </night>
            </weather>
            <weather>
                <date>17日星期三</date>
                <high>高温 34℃</high>
                <low>低温 19℃</low>
                <day>
                    <type>晴</type>
                    <fengxiang>南风</fengxiang>
                    <fengli>微风级</fengli>
                </day>
                <night>
                    <type>晴</type>
                    <fengxiang>南风</fengxiang>
                    <fengli>微风级</fengli>
                </night>
            </weather>
            <weather>
                <date>18日星期四</date>
                <high>高温 35℃</high>
                <low>低温 22℃</low>
                <day>
                    <type>晴</type>
                    <fengxiang>南风</fengxiang>
                    <fengli>微风级</fengli>
                </day>
                <night>
                    <type>多云</type>
                    <fengxiang>南风</fengxiang>
                    <fengli>微风级</fengli>
                </night>
            </weather>
            <weather>
                <date>19日星期五</date>
                <high>高温 35℃</high>
                <low>低温 22℃</low>
                <day>
                    <type>多云</type>
                    <fengxiang>南风</fengxiang>
                    <fengli>微风级</fengli>
                </day>
                <night>
                    <type>晴</type>
                    <fengxiang>南风</fengxiang>
                    <fengli>微风级</fengli>
                </night>
            </weather>
            <weather>
                <date>20日星期六</date>
                <high>高温 34℃</high>
                <low>低温 21℃</low>
                <day>
                    <type>晴</type>
                    <fengxiang>南风</fengxiang>
                    <fengli>3-4级</fengli>
                </day>
                <night>
                    <type>多云</type>
                    <fengxiang>南风</fengxiang>
                    <fengli>微风级</fengli>
                </night>
            </weather>
        </forecast>
        <zhishus>
            <zhishu>
                <name>晨练指数</name>
                <value>较适宜</value>
                <detail>早晨气象条件较适宜晨练,但风力稍大,晨练时请注意选择避风的地点,避免迎风锻炼。</detail>
            </zhishu>
            <zhishu>
                <name>舒适度</name>
                <value>较不舒适</value>
                <detail>白天天气多云,同时会感到有些热,不很舒适。</detail>
            </zhishu>
            <zhishu>
                <name>穿衣指数</name>
                <value>炎热</value>
                <detail>天气炎热,建议着短衫、短裙、短裤、薄型T恤衫等清凉夏季服装。</detail>
            </zhishu>
            <zhishu>
                <name>感冒指数</name>
                <value>少发</value>
                <detail>各项气象条件适宜,发生感冒机率较低。但请避免长期处于空调房间中,以防感冒。</detail>
            </zhishu>
            <zhishu>
                <name>晾晒指数</name>
                <value>适宜</value>
                <detail>天气不错,适宜晾晒。赶紧把久未见阳光的衣物搬出来吸收一下太阳的味道吧!</detail>
            </zhishu>
            <zhishu>
                <name>旅游指数</name>
                <value>适宜</value>
                <detail>天气较好,温度稍高,幸好风稍大,会缓解稍热的天气。适宜旅游,可不要错过机会呦!</detail>
            </zhishu>
            <zhishu>
                <name>紫外线强度</name>
                <value>中等</value>
                <detail>属中等强度紫外线辐射天气,外出时建议涂擦SPF高于15、PA+的防晒护肤品,戴帽子、太阳镜。</detail>
            </zhishu>
            <zhishu>
                <name>洗车指数</name>
                <value>较适宜</value>
                <detail>较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。</detail>
            </zhishu>
            <zhishu>
                <name>运动指数</name>
                <value>较适宜</value>
                <detail>天气较好,但风力较大,推荐您进行室内运动,若在户外运动请注意防风。</detail>
            </zhishu>
            <zhishu>
                <name>约会指数</name>
                <value>较不适宜</value>
                <detail>天气较好,且室外有风,外出约会可能会让恋人受些苦,最好在温暖的室内促膝谈心。</detail>
            </zhishu>
            <zhishu>
                <name>雨伞指数</name>
                <value>不带伞</value>
                <detail>天气较好,不会降水,因此您可放心出门,无须带雨伞。</detail>
            </zhishu>
        </zhishus>
    </resp>
    <!-- 10.10.156.163(10.10.156.163):33961 ; 10.10.162.42:8080 -->
    

    天气API XML返回方式(失败)

    <?xml version="1.0" encoding="UTF-8"?>
    <resp>
        <status>400</status>
        <error>Check the parameters.</error>
    </resp>
    <!-- 20170516 14:00:33:033 -->
    

    接口使用申明
    因为涉及到并发和有效资源问题,小型站长可以和我大个招呼,我可以提供免费使用,如果是日调用超过2000次,请务必和我说明,我尽量保证可用性,如果没和我说明,我会直接封掉IP段。

    原文链接: 点我跳转

    相关文章

      网友评论

          本文标题:天气API接口说明

          本文链接:https://www.haomeiwen.com/subject/eiarpxtx.html