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

天気データをサッと取得できる 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アドレス、ドメイン名など色々な形式に対応しているそうです。おもしろい~。