蜉蝣

走馬灯が流れる30分ほどは、己の生命の意味を知り、ストロボのようにゆらゆら...

Rubyで地域の天気予報を取得する

過去にWeather_HackerというRubyGemsがあったことを思い出します。今時は、jsonパースする例を見かけました。これを使って、Rubyで地域の天気予報を取得したいと想います。暑さ対策、熱中症などにならないために、天気予報をチェックして適切な行動をとりたいものです。オンラインで情報があることも、サイトがあることも、とてもいい時代になりましたね。10年前はそんな姿さえなく、私はなるべくこうして記録を書いていたものです。書籍より、訂正も更新も内容の編集もたやすいからですね。情報を共有することは大切なことです。

weather.livedoor.com

rubyコーディング例

require 'net/http'
require 'uri'
require 'json'
require 'time'
require 'date'

uri = URI.parse('http://weather.livedoor.com/forecast/webservice/json/v1?city=170010')
json = Net::HTTP.get(uri)
result = JSON.parse(json)
today_tel = result['forecasts'][0]['telop']
tomor_tel = result['forecasts'][1]['telop']
min_tem = result['forecasts'][1]['temperature']['min']['celsius']
max_tem = result['forecasts'][1]['temperature']['max']['celsius']
des = result['description']['text']
des1 = result['description']['publicTime']
des2 = DateTime.parse(des1)

#puts result
puts ' 天気予報 '.center(60, '-')
puts ''
puts '今日の天気は、' + today_tel + ' でしょう '
puts '最低気温は、' + min_tem + '' + ' でしょう '
puts '最高気温は、' + max_tem + '' + ' でしょう '
puts '明日の天気は、' + tomor_tel + ' でしょう '
puts ''
puts ' 天気予報 '.center(60, '-')
puts ''
puts ''
puts ' 天気概況文 '.center(60, '-')
puts
puts des
puts ''
print ' 天気概況文の発表時刻  '
puts des2.strftime('%Y年%m月%d日 %H時%M分%S秒')
puts ''
puts ' 天気概況文 '.center(60, '-')

出力結果

--------------------------- 天気予報 ---------------------------

今日の天気は、晴のち曇 でしょう
最低気温は、26℃ でしょう
最高気温は、34℃ でしょう
明日の天気は、晴のち曇 でしょう

--------------------------- 天気予報 ---------------------------


-------------------------- 天気概況文 ---------------------------

(気圧配置など)
 東日本は、高気圧に緩やかに覆われていますが、湿った空気が流れ込んで
います。

(天気分布など)
 石川県は、晴れ又は薄曇りとなっています。

(今日の天気 14日)
 高気圧に緩やかに覆われますが、気圧の谷や湿った空気の影響を受ける見
込みです。
 このため、
 石川県では、晴れ夕方から曇りで、加賀の山地を中心に、昼過ぎから夜の
はじめ頃は雨や雷雨で激しく降る所があるでしょう。
 また、高温が予想されます。熱中症の危険が特に高くなる見込みです。暑
さを避け、水分をこまめに補給するなど、十分な対策をとってください。

(明日の天気 15日)
 高気圧に緩やかに覆われますが、気圧の谷や湿った空気の影響を受ける見
込みです。
 このため、
 石川県は、晴れ夕方から曇りで、能登では、夕方から雨の降る所があるで
しょう。

 天気概況文の発表時刻  2018年08月14日 10時44分00秒

-------------------------- 天気概況文 ---------------------------

rubyist.hatenablog.com

以上です。是非、使ってみてくださいませ。

Copyright © 2007-2018 Takayuki Kamiyama. All Rights Reserved.