天気データをサッと取得できる wttr.in で JSON 形式の天気データを取得するメモ
天気データをサッと取得できる wttr.in で JSON 形式の天気データを取得するメモです
背景

天気データをサッと取得できる wttr.in ですがコンソール向けの天気予報サービスのため curl でもシンプルに取得できます。登録不要・無料で使えるのがすばらしい。
使い方は GitHub が詳しいです。→ chubin/wttr.in: :partly_sunny: The right way to check the weather

もちろんブラウザでも取得できます。
たとえば東京の天気はこれ https://wttr.in/Tokyo。
で、今回は curl だけで使えるのは知っていたんですが JSON で返してくれる方法は今回はじめてちゃんと調べました。
JSON で取得してみる
さっきのヘルプと調べてみたところ JSON で取得する場合はformat パラメータに j1 か j2 を指定します。
https://wttr.in/Tokyo?format=j2
j2 は小さいバージョン。時間別データなし。シンプルでいいですね。JSON 取得の練習用にもよさそう。
{
"current_condition": [
{
"FeelsLikeC": "30",
"FeelsLikeF": "87",
"cloudcover": "18",
"humidity": "86",
"lang_ja": [
{
"value": "晴れ"
}
],
"lang_xx": [
{
"value": "晴れ"
}
],
"observation_time": "08:06 AM",
"precipInches": "0.0",
"precipMM": "0.0",
"pressure": "1008",
"pressureInches": "30",
"temp_C": "27",
"temp_F": "81",
"uvIndex": "1",
"visibility": "10",
"visibilityMiles": "6",
"weatherCode": "113",
"weatherDesc": [
{
"value": "Sunny"
}
],
"weatherIconUrl": [
{
"value": "https://cdn.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0001_sunny.png"
}
],
"winddir16Point": "SE",
"winddirDegree": "128",
"windspeedKmph": "14",
"windspeedMiles": "9"
}
],
次に、
https://wttr.in/Tokyo?format=j1
j1 はフルバージョンです。現在の天気+3日予報+時間別データかな。
current_condition の中でよく使いそうなフィールドはこのあたりです。
- temp_C / temp_F: 気温
- FeelsLikeC / FeelsLikeF: 体感温度
- humidity: 湿度(%)
- windspeedKmph: 風速(km/h)
- winddir16Point: 風向き(16方位)
- weatherDesc: 天気の説明テキスト
- precipMM: 降水量(mm)
- pressure: 気圧(hPa)
- uvIndex: UV指数
- visibility: 視程(km)
- observation_time: 観測時刻
なお、場所の指定も都市名だけでなく、空港コード、GPS座標、IPアドレス、ドメイン名など色々な形式に対応しているそうです。おもしろい~。