天気予報取得するPythonスクリプト書いた。
どっから情報とるの?
Weather Hacksという天気情報をJSON形式で配布しているサービスを使った。
コードはブログに載せるにはちょっと長いのでgithubにあげた。→https://github.com/tkmru/weatherhacks
地域情報を取るコード
Weather Hacksを使うにあたり必要な地域情報を取得するコードを載せておく。Weather Hacksは地域別に定義されたID番号別にJSONデータが分けられていて、その地域とIDの対応をxmlファイルで提供されているので、そこから中身を抜き出すスクリプト。
# coding: UTF-8 from xml.dom import minidom xdoc = minidom.parse("primary_area.xml") f = open("titenteigi.txt", "w") elements = xdoc.getElementsByTagName("city")[0] #cityタグの1つ目の要素を取得 elements_title = elements.getAttribute("title") elements_id = elements.getAttribute("id") word = "u\"" + elements_title + "\"" + ": " + "\"" + elements_id + "\",\n" f.write(" titenteigi = {" + word.encode("shiftjis")) f.close for i in range(1, 141): f = open("titenteigi.txt", "r+") data = f.read() f.tell() f.seek(0,0) f.tell() elements = xdoc.getElementsByTagName("city")[i] #cityタグのi番目の要素を取得 elements_title = elements.getAttribute("title") elements_id = elements.getAttribute("id") word = "u\"" + elements_title + "\"" + ": " + "\"" + elements_id + "\",\n" f.write(data) f.write(" " + word.encode("shiftjis")) f.close f = open("titenteigi.txt", "r+") data = f.read() f.tell() f.seek(0,0) f.tell() f.write(data) elements = xdoc.getElementsByTagName("city")[141] #cityタグの142個目の要素を取得 elements_title = elements.getAttribute("title") elements_id = elements.getAttribute("id") word = "u\"" + elements_title + "\"" + ": " + "\"" + elements_id + "\"}" f.write(" " + word.encode("shiftjis")) f.close