python 獲取天氣信息

目錄

前言

一 各種天氣API比較

二 高德天氣API使用說明

三 實踐

四 拓展

歡迎掃描左側二維碼,關注公共號,獲取更多信息。


前言

每次看到各種應用上面顯示各種天氣預報,是不是很好奇,明明有些公司或者機構沒有檢測天氣,他們是怎麼預報天氣的呢?接下里就給你一一解答。

其實,想要使用獲取天氣的信息,非常簡單。從網上找一個天氣API, 然後按照這個API 的使用說明操作,就可以獲得需要的天氣信息。

會Python的同學,大部分應該都會爬蟲。但是作爲一個遵紀守法的公民,還是尊重版權。因此從網上選擇了好幾個能夠免費試用的API。

 

一 各種天氣API比較

第一個是 中國氣象網http://data.cma.cn/Market/Detail/code/A.0013.0001/type/0.htm

官方數據,真實可靠。但是註冊時候需要提供證件ID,使用較爲麻煩。

第二個是 高德天氣API 使用起來還是比較方便的。註冊之後,創建應用獲取的key 就可以使用了。主要還是不用這麼明顯的提供證件ID。

當然還有很多可以使用的天氣API, 可以從網上搜下,比如“必應一下”。下面是知乎上面的一個我自己認爲還不錯的對天氣AP的推薦的回答:

https://www.zhihu.com/question/20575288

 

二 高德天氣API使用說明

第一步,申請”web服務 API”密鑰(Key);

第二步,拼接HTTP請求URL,第一步申請的Key需作爲必填參數一同發送;

第三步,接收HTTP請求返回的數據(JSON或XML格式),解析數據。

如無特殊聲明,接口的輸入參數和輸出數據編碼全部統一爲UTF-8。

 

三 實踐

好了,接下來,假裝各位同學都已經獲得了自己的高德天氣API 的key。

接下來獲取天氣就是相當簡單的一件事情,四行代碼搞定。

按照下面的這個格式拼接請求 url

https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=<用戶key>

實操如下:

import requests


url = "https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=你自己的key"

r = requests.get(url)

print(r.text)

 

運行獲得天氣信息:

{"status":"1","count":"1","info":"OK","infocode":"10000","lives":[{"province":"北京","city":"東城區","adcode":"110101","weather":"多雲","temperature":"18","winddirection":"北","windpower":"≤3","humidity":"17","reporttime":"2019-04-13 19:21:51"}]}

四 拓展

       抓取了信息以後,還可以增加一些小功能,比如說通過郵件將信息發送出去,或者再增加一些定時功能。liunx下面可以使用crond,也可以使用Python自帶的schedule庫,再延伸一些,還可以製作一個界面,這樣功能會更加完善。

 

歡迎掃描左側二維碼,關注公共號,獲取更多信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章