Cucco’s Life Hack diary

生活を豊かにする記事を書いていきます。

天気予報API

コンピュータ系のメモ置き場がないので仮置き。

googleの天気予報APIから天気をとってくるphytonのコード
表示は今の天気と、今日の予報の天気の部分だけ。
ubuntu環境だと日本語を処理しようとするとエラーが出る。理由は不明。
仕方が分からないので、日本語に置き換える関数で対応。

# -*- coding: utf-8 -*-
import urllib
from xml.etree.ElementTree import ElementTree, Element

def toJapaneseWeather(str):
	if str=="Partly Cloudy":
		return u"ところにより曇り"
	elif str=="Partly Sunny":
		return u"ところにより晴れ"
	elif str=="Clear":
		return u"晴れ"
	elif str=="Mostly Sunny":
		return u"だいたい晴れ"
	elif str=="Cloudy":
		return u"曇り"
	elif str=="Mostly Cloudy":
		return u"曇り"
	elif str=="Chance of Snow":
		return u"曇り時々雪"
	elif str=="Chance of Rain":
		return u"曇り時々雨"
	elif str=="Rain":
		return u"雨"
	elif str=="Drizzle":
		return u"霧雨"
	elif str=="Light rain":
		return u"弱い雨"
	elif str=="Snow Showers":
		return u"にわか雪"
	else:
		return str

#以下、メイン関数

con = urllib.urlopen("http://www.google.com/ig/api?weather=totsuka,yokohama")

xml = ElementTree(file=con)
con.close()
elm = xml.getroot()

f=elm.findall(".//condition")
print u"横浜の天気"
print u"今の天気:"+toJapaneseWeather(f[0].get("data"))
print u"このあと:"+toJapaneseWeather(f[1].get("data"))

URLに「hl=ja」をつけてあげると天気部分などが日本語で返却される。

参考
http://billboardtop100.net/2011/04/google-weather-api-php.html