気象庁の府県天気予報を解析する

前回に続き #eeic_botthon で必要になった次第。

シャロちゃんに天気予報を言わせるため、気象庁から予報データを引っ張ってくる必要があった。これは「気象庁 | 天気予報 : 東京都」などから引っ張ってくるわけだがこのHTMLを解析しなければならない。

府県天気予報は需要がありそうなので解析ツールもどこかにあると思ったのだが、意外とないことが判明。めんどくさかったので当日発表では drk7.jp という個人サイトで配信されているjsonデータを用いたのだが、朝1度しか更新されないし、個人サイトで運営上不安なので、実際にこのHTMLをRubyで解析することにした。

RubyのHTML構文解析には、Nokogiriというgemを使う。これに関してはこのサイトが詳しいので、使うときはこれを見ながらirbを叩くのがよいだろう。search, xpathの違いがよくわからなくてハマったのだが、結果的に解決した。

最終的には以下のようなコードになった。

Class Forecastsにそのページの天気予報が全部入る。idにはidが、nameには府県名が入る。なおidは http://www.jma.go.jp/jp/yoho/319.html であれば 19 がこれにあたる。

実際に見たいときはこれをロードして、

などと実行すればよい。idを指定すると、Hashで作られた天気予報forecastsがClassに入って返ってくる。実行結果は

などとなる。

シャロちゃんは別途この :info をさらに構文解析して口語に変換するのだが、それはまたいつか。


気象庁の府県天気予報を解析する」への1件のフィードバック

  1. ピンバック: 気象予報をシャロちゃんに言わせたい! (eeic Advent Calendar 2015) | 愛のらくがき帳

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です