気象庁から最高気温を最低気温を取得する
ここ数日は本当に暑い。一体どのくらいの勢いで最高気温を更新してんだよってことで書いてみた。
#!/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分あたりに更新されるそうです。
コメント
コメントを投稿