前回記事からの続きです。
最低限の機械学習の知識を手に入れるため勉強中。
今回は本書のWeb APIからのデータ取得部分をやっています。
一見とても簡単なコードでしたが、Python初心者な私にとっては、とても有益でした。 JSONや、C#でいうところのstring.Format()的な文字の置き換えなどもPythonには用意されていることを知ることが出来ました。
タイトルにもあるように、OpenWeatherMapというサイトのAPIを使って指定都市の天気情報を取得します。
予めOpenWeatherMapの無料会員登録をしてAPIキーを取得する必要があります。
会員登録後のAPIキーの取得方法はコチラにまとまっています。
How to start to work with Openweather API - OpenWeatherMap
今回のサンプルコードはコチラです。
python openweathermap.py Tokyo
このように引数にTokyoを指定すると、
{ "coord": { "lon": 139.69, "lat": 35.69 }, "weather": [ { "id": 520, "main": "Rain", "description": "light intensity shower rain", "icon": "09n" }, { "id": 701, "main": "Mist", "description": "mist", "icon": "50n" } ], "base": "stations", "main": { "temp": 285.64, "pressure": 1016, "humidity": 93, "temp_min": 283.15, "temp_max": 288.15 }, "visibility": 4000, "wind": { "speed": 3.6, "deg": 90 }, "clouds": { "all": 75 }, "dt": 1510592400, "sys": { "type": 1, "id": 7619, "message": 0.0086, "country": "JP", "sunrise": 1510521327, "sunset": 1510558518 }, "id": 1850147, "name": "Tokyo", "cod": 200 }
このようなJSONが返ってきます。
data["weather"][0]["main"]
天気を取得する場合は、JSONをこのように配列参照して取得します。
ちなみに現在雨がふっているようでRain
と返却されます。
最後に
本書は少しずつ継続的に読み進めています。
環境
- Python 3.6.3
- Requests 2.18.4