pythonでOpenWeatherMapのweatherAPIを叩く
環境
Mac OS X 10.14.5 python 3.7.1
OpenWeatherMapに登録
ここにアクセスして"Weather APIs for developers"の下の"Try free APIs"ボタンを押下します。
すると次のようなページが表示されるので、
sign up から必要な情報を入力して"create account"ボタンを押下します。
API keys からKEYを確認します。
このKEYはあとで使います。
使ってみる
京都の現在の気象情報をJSON形式で取得。
import requests import json city = "Kyoto" KEY = "xxxxx" # 先ほど確認したKEYを指定 api = "http://api.openweathermap.org/data/2.5/weather?units=metric&q={city}&APPID={key}" url = api.format(city=city, key=KEY) response = requests.get(url) data = response.json() # dataをJSONで取得 print(json.dumps(data, indent=4)) # JSONを整形
実行結果
{ "coord": { "lon": 135.76, "lat": 35.02 }, "weather": [ { "id": 803, "main": "Clouds", "description": "broken clouds", "icon": "04d" } ], "base": "stations", "main": { "temp": 24.78, "pressure": 1006, "humidity": 78, "temp_min": 24, "temp_max": 25.56 }, "visibility": 10000, "wind": { "speed": 2.1, "deg": 90 }, "clouds": { "all": 75 }, "dt": 1562891024, "sys": { "type": 1, "id": 8032, "message": 0.0088, "country": "JP", "sunrise": 1562874703, "sunset": 1562926370 }, "timezone": 32400, "id": 1857910, "name": "Kyoto", "cod": 200 }
国を含めて指定する場合はTokyo, Japan
のようにします。他にも色々な指定方法があるようです。
まとめ
思ったよりも簡単にできました。天気予報のアプリを作るときにでも役立ちそう。