気象庁から最高気温を最低気温を取得する
ここ数日は本当に暑い。一体どのくらいの勢いで最高気温を更新してんだよってことで書いてみた。
#!/usr/bin/ruby -Ku # -*- coding: utf-8 -*- # 過去一ヶ月間の最高気温、最低気温を取得する require 'iconv' require 'rubygems' require 'mechanize' require 'hpricot' require 'open-uri' require 'pp' TargetCity = "" # Ex. TargetCity = "東京" if TargetCity == "" puts "データを取得したい都市 ( TargetCity ) を設定してください" exit -1 else puts TargetCity end a = Mechanize.new (1..30).each do |num| a.get("http://www.data.jma.go.jp/obd/stats/data/mdrr/synopday/data#{num}.html") do |page| (page/"tr").each do |tr| city = (tr/"td.o0").map do |td| Iconv.conv('UTF-8','EUC-JP',td.inner_html) end.first if city == TargetCity list = (tr/"td.oR").map do |i| Iconv.conv('UTF-8','EUC-JP',i.inner_html) end day = (Time.now-(num-1)*24*3600).day puts "day=#{day} max=#{list[3]} min=#{list[4]}" end end end end
気象庁で公開されているデータは過去一ヶ月分で、当日分は毎30分あたりに更新されるそうです。
コメント
コメントを投稿