1
5

More than 5 years have passed since last update.

RubyでWeather Hacksを使って天気を取得してみた

Posted at

はじめに

前回の記事にて、天気情報取得にAPIキーが必要だったため、APIキーが不要な天気情報取得をやってみました。
RubyでOpenWeatherMapを使って天気を取得してみた

環境

macOS Mojave(10.14.4)

Livedoor Weather Web Service

こちらで公開されています。
お天気Webサービス仕様
このサイト内のURLと地域別IDを使用することで、以下情報をJSON形式で取得できます。

お天気Webサービス(Livedoor Weather Web Service / LWWS)は、現在全国142カ所の今日・明日・あさっての天気予報・予想気温と都道府県の天気概況情報を提供しています。

取得処理

今回も東京の天気情報取得をやってみます。
地域別IDは以下サイトにまとめられていたので、そこから参照します。
livedoorお天気webサービス地域ID一覧

上記サイトを見ると東京のIDは130010のようです。
そのため東京の天気情報取得には以下URLを使用します。
http://weather.livedoor.com/forecast/webservice/json/v1?city=130010

RubyでのJSON取得コードは以下になります。

require 'open-uri'
require 'json'

response = open(url)
@parse_text = JSON.parse(response.read)
puts JSON.pretty_generate(@parse_text)

取得結果

取得できた東京の天気情報がこちらです。
※取得日:2019/5/7

{
  "pinpointLocations": [
    {
      "link": "http://weather.livedoor.com/area/forecast/1310100",
      "name": "千代田区"
    },
・・・略・・・
  ],
  "link": "http://weather.livedoor.com/area/forecast/130010",
  "forecasts": [
    {
      "dateLabel": "今日",
      "telop": "曇時々晴",
      "date": "2019-05-07",
      "temperature": {
        "min": null,
        "max": {
          "celsius": "19",
          "fahrenheit": "66.2"
        }
      },
      "image": {
        "width": 50,
        "url": "http://weather.livedoor.com/img/icon/9.gif",
        "title": "曇時々晴",
        "height": 31
      }
    },
・・・略・・・
    }
  ],
  "location": {
    "city": "東京",
    "area": "関東",
    "prefecture": "東京都"
  },
  "publicTime": "2019-05-07T05:00:00+0900",
  "copyright": {
    "provider": [
      {
        "link": "http://tenki.jp/",
        "name": "日本気象協会"
      }
    ],
・・・略・・・

取得ができたので、必要な部分だけ取り出して、今日の天気を出すようにしました。
ついでに関東地方の地域IDがある地点の天気を取得してみました。

City: 東京,   Weather: 曇時々晴
City: 大島,   Weather: 曇時々晴
City: 八丈島,  Weather: 曇時々晴
City: 父島,   Weather: 曇のち雨
City: 横浜,   Weather: 曇時々晴
City: 小田原,  Weather: 曇時々晴
City: さいたま, Weather: 晴時々曇
City: 熊谷,   Weather: 晴時々曇
City: 秩父,   Weather: 晴時々曇
City: 千葉,   Weather: 曇時々晴
City: 銚子,   Weather: 曇時々晴
City: 館山,   Weather: 曇時々晴
City: 水戸,   Weather: 曇時々晴
City: 土浦,   Weather: 曇時々晴
City: 宇都宮,  Weather: 曇のち晴
City: 大田原,  Weather: 曇のち晴
City: 前橋,   Weather: 晴時々曇
City: みなかみ, Weather: 晴時々曇
City: 甲府,   Weather: 晴時々曇
City: 河口湖,  Weather: 晴時々曇

比較のため、気象庁の天気と比較してみます。
気象庁
※前回はヤフー天気を比較対象に挙げましたが、精度が公表されていないようでした。
そのため精度を公表している気象庁を選択しました。
天気予報の精度検証結果

スクリーンショット 2019-05-07 8.07.52.png

おおー、あまり外れていないように見えますね。

まとめ

偶然近い結果になったのか分かりませんが、天気予報第2弾はなかなかよい結果でした。
明日、明後日の天気も出して比較すると、さらに面白そうですね。

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5