こんにちは、エンジニアのオオバです。

前回記事からの続きです。

最低限の機械学習の知識を手に入れるため勉強中。

今回は本書のWeb APIからのデータ取得部分をやっています。

一見とても簡単なコードでしたが、Python初心者なぼくにとっては、とても有益でした。
JSONや、C#でいうところのstring.Format()的な文字の置き換えなどもPythonには用意されていることを知ることが出来ました。

Сurrent weather and forecast - OpenWeatherMap

タイトルにもあるように、OpenWeatherMapというサイトのAPIを使って指定都市の天気情報を取得します。
予めOpenWeatherMapの無料会員登録をしてAPIキーを取得する必要があります。

会員登録後のAPIキーの取得方法はコチラにまとまっています。

How to start to work with Openweather API - OpenWeatherMap

今回のサンプルコードはコチラです。

openweathermap.py · GitHub

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と返却されます。

オススメ記事
検証環境