読者です 読者をやめる 読者になる 読者になる

小さなエンドウ豆

まだまだいろいろ勉強中

新企画! ラズパイをアラームに

単位をください

こんばんは、4年生になった今でも講義を取らなくてはいけない大学生です...

意識の高い私大学生は1,2限の講義をとってしまった。というよりその講義しか興味なかったという方が正しいかも

というわけで起きれる目覚まし時計を作りたいのだが、大学生とはいえ多忙()な私にとってただの目覚ましじゃ物足りなくその日の予定なんかも同時に知りたい。更に言うなら天気なんかも知りたい。

ではどうするかとなったときそこにあったのはケース無しのラズパイ!(買ってSSHとかで使ってたけどほぼ使ってないw) これ使って「今日の予定+今週の天気をしゃべる」ものを作ろうと今日決意した。

これから何回かに分けてその経過をここに綴っていきたい…(3日坊主にならないようにしよ)

今日明日くらいの天気

天気を知るために便利なAPIがあるのは知っていたが今回はlivedoorのお天気APIであるWeather Hacksを使うことにした。

リクエストする際のURLは以下である
http://weather.livedoor.com/forecast/webservice/json/v1
これに都市を表すパラメータを付与しリクエストする。例えば岡山だったら
http://weather.livedoor.com/forecast/webservice/json/v1?city=330010
である。
返ってくるレスポンスはリンク先のとおりである。

次に実際に書いたスクリプトである。

import urllib.request
import json

city = '330010' # 岡山

res = urllib.request.urlopen('http://weather.livedoor.com/forecast/webservice/json/v1?city=%s'%city).read()

res = res.decode('utf-8') # レスポンスがバイト列であったためutf-8にデコード

res = json.loads(res) # json形式のレスポンスをデコード

text = res['title']

for forecast in res['forecasts']:
    print(forecast['dateLabel']+'('+forecast['date']+')' )
        print(forecast['telop']) 

これで岡山の今日の天気と明日の天気を得ることができた!

今日は花金なので早く休んで明日あたりでこれを喋らせることにしようと思う