Yahoo! JP 天気から、今日と明日の最高気温・最低気温を取得する
require 'mechanize'
a = Mechanize.new {|a|
a.user_agent_alias = 'Mac Safari'
}
def city_url name
'http://weather.yahoo.co.jp/weather/jp/' + {
tsugaru: '2/3110.html',
naha: '47/9110.html',
kyoto: '26/6110.html',
yokohama: '14/4610.html'
}[name]
end
def date page
page.search('//p[@class="date"]').map{|x| x.text}
end
def high_temp page
page.search('//*[@class="temp"]/li[@class="high"]/em').map{|x| x.text}
end
def low_temp page
page.search('//*[@class="temp"]/li[@class="low"]/em').map{|x| x.text}
end
page = a.get(city_url :yokohama)
p date page #=> ["7月22日(火)", "7月23日(水)"]
p high_temp page #=> ["31", "31"]
p low_temp page #=> ["23", "24"]