天氣API接口說明

天氣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段。

原文鏈接: 點我跳轉

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. 國家氣象局 實時接口:實時天氣1:http://www.weather.com.cn/data/sk/101...
    DROP_DATABASE閱讀 164,617評論 13 75
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,232評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,283評論 25 708
  • 前記:拿著一紙轉學說明,四月和兄弟姐妹隨父母奔赴廣州,留下一句說不完的道別,還有四月對過去的留念,對當下的束手無策...
    千頤茗閱讀 603評論 0 1
  • 一甕復一翁,江海兩濛濛。此去本無岸,何須借東風。 【新紀十五年八月二十五日注】近來諸事繁雜,疲于奔命,只能在時間的...
    觀浪臺主人閱讀 362評論 3 6