Skip to content

Instantly share code, notes, and snippets.

@oyakodon
Created March 3, 2016 13:12
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oyakodon/9a130f8902e19e078c40 to your computer and use it in GitHub Desktop.
Save oyakodon/9a130f8902e19e078c40 to your computer and use it in GitHub Desktop.
天気予報を取得する / Python / Python weather API
# 2016-3-3 現在のYahooの地域コードデータです
# N/Aの行は削除しています
# 出力スクリプト参考:http://inside-my-box.hatenablog.com/entry/2014/07/21/001606
location ID Name Geodata(lat,long)
JAXX0001 Akita 39.72,140.1
JAXX0002 Akune 32.02,130.2
JAXX0003 Amagasaki 34.72,135.42
JAXX0004 Aomori 40.82,140.75
JAXX0005 Asahikawa 43.77,142.37
JAXX0006 Chiba 35.6,140.12
JAXX0007 Choshi 35.73,140.83
JAXX0008 Ebetsu 43.12,141.57
JAXX0009 Fukuoka 33.58,130.45
JAXX0010 Fukushima 41.48,140.25
JAXX0011 Funabashi 35.7,139.98
JAXX0012 Gifu 35.42,136.75
JAXX0013 Hachioji 35.65,139.33
JAXX0014 Hakodate 41.82,140.75
JAXX0015 Hakui 36.88,136.78
JAXX0016 Higashi-osaka 34.67,135.58
JAXX0017 Himeji 34.82,134.7
JAXX0018 Hiroshima 34.4,132.47
JAXX0019 Hitachi 36.6,140.65
JAXX0020 Honjo 39.39,140.08
JAXX0021 Ichikawa 35.73,139.92
JAXX0022 Ichinomiya 35.3,136.8
JAXX0023 Iizuka 33.63,130.68
JAXX0024 Iwakuni 34.15,132.18
JAXX0025 Izumi 34.48,135.43
JAXX0026 Joetsu 37.1,138.25
JAXX0027 Kadena Air Base 26.37,127.75
JAXX0028 Kagoshima 31.6,130.55
JAXX0029 Kamiiso 41.82,140.65
JAXX0030 Kanazawa 36.55,136.65
JAXX0031 Karatsu 33.45,129.97
JAXX0032 Kariya 34.98,136.98
JAXX0033 Kashiwazaki 37.37,138.55
JAXX0034 Kasugai 35.23,136.98
JAXX0035 Kawaguchi 35.8,139.72
JAXX0036 Kawasaki 35.53,139.72
JAXX0037 Kisakata 39.22,139.9
JAXX0038 Kishiwada 34.47,135.37
JAXX0039 Kitakyushu 33.88,130.83
JAXX0040 Kobe 34.68,135.17
JAXX0041 Kofu 35.65,138.58
JAXX0042 Komatsu 36.4,136.45
JAXX0043 Kumamoto 32.8,130.72
JAXX0044 Kurashiki 34.58,133.77
JAXX0045 Kure 34.23,132.57
JAXX0046 Kurume 33.32,130.52
JAXX0047 Kyoto 35.09,135.75
JAXX0048 Machida 35.53,139.45
JAXX0049 Matsudo 35.78,139.9
JAXX0050 Matsumoto/Nagano 36.25,137.97
JAXX0051 Matsuto 36.52,136.57
JAXX0052 Matsuyama 33.83,132.75
JAXX0053 Mito 36.37,140.46
JAXX0054 Nagaoka 37.45,138.85
JAXX0055 Nagasaki 32.73,129.87
JAXX0056 Nago 26.59,127.98
JAXX0057 Nagoya 35.25,136.93
JAXX0058 Naha 26.21,127.68
JAXX0059 Nanao 37.05,136.97
JAXX0060 Nara 34.68,135.83
JAXX0061 Niigata 37.95,139.12
JAXX0062 Noshiro 40.2,140.03
JAXX0063 Ogaki 35.35,136.62
JAXX0064 Okaya 36.05,138.05
JAXX0065 Okayama 34.65,133.92
JAXX0066 Okazaki 34.95,137.17
JAXX0067 Okinawa 26.23,127.68
JAXX0068 Omiya 35.9,139.63
JAXX0069 Omura 32.9,129.95
JAXX0070 Omuta 33.03,130.45
JAXX0071 Osaka 34.78,135.45
JAXX0072 Otaru 43.22,141
JAXX0073 Otsu 35,135.87
JAXX0074 Sagamihara 35.57,139.38
JAXX0075 Sakai 34.58,135.47
JAXX0076 Sakata 38.92,139.85
JAXX0077 Sanjo 37.62,138.95
JAXX0078 Sapporo 42.77,141.7
JAXX0079 Sasebo 33.2,129.73
JAXX0080 Shimonoseki 33.95,130.95
JAXX0081 Takamatsu 34.33,134.05
JAXX0082 Takaoka 36.75,137.02
JAXX0083 Takatsuki 34.85,135.62
JAXX0084 Tokuyama 34.05,131.82
JAXX0085 Tokyo 35.55,139.77
JAXX0086 Toyama 36.68,137.22
JAXX0087 Toyonaka 34.78,135.47
JAXX0088 Toyota 35.08,137.15
JAXX0089 Tsu 34.72,136.52
JAXX0090 Tsuruoka 38.73,139.83
JAXX0091 Ube 33.93,131.25
JAXX0092 Ueda 36.4,138.27
JAXX0093 Uji 34.88,135.8
JAXX0094 Utsunomiya 36.55,139.87
JAXX0095 Wakayama 34.22,135.2
JAXX0096 Yamaguchi 34.17,131.48
JAXX0097 Yao 34.62,135.6
JAXX0098 Yokkaichi 34.97,136.62
JAXX0099 Yokohama 35.45,139.65
JAXX0100 Yukuhashi 33.73,130.98
JAXX0103 Morioka 39.7,141.17
JAXX0104 Sendai 38.27,140.9
JAXX0105 Nagano 36.67,138.2
JAXX0107 Shizuoka 34.97,138.4
JAXX0110 Miyazaki 31.92,131.42
JAXX0111 Minamitorishima 24.3,153.97
JAXX0112 Suzuka 34.88,136.58
JAXX0113 Motegi 36.52,140.18
JAXX0114 Sakai-Minato 35.53,133.24
JAXX0115 Yonago 35.44,133.34
JAXX0116 Hamamatsu 34.72,137.73
JAXX0123 Tokyo Disney Resort 35.63,139.88
JAXX0124 Kirishima 31.82,130.77
JAXX0125 Omitama 36.23,140.35
JAXX0148 Tokoname 34.88,136.85
#! /usr/bin/env python2.7
# -*- coding: utf-8 -*-
import pywapi # python weather api 要インストール。
from weather_db import CODE_TABLE, CITY_TABLE # 辞書ファイルのインポート
# 地域を設定します。JAXX____の____部分は、一緒に載せたlocation_result.dat
# を参考に設定してください。
# ex)Tokyo -> result = pywapi.get_weather_from_yahoo('JAXX0085')
result = pywapi.get_weather_from_yahoo('JAXX0104') # Miyagi, Sendai
location = result['location']['city']
weather = u'現在の ' + CITY_TABLE.get(location, location) +\
u' の天気: ' + CODE_TABLE.get(result['condition']['code'] , u"[天候未定義]") + u'\n'
"""
weather = u'今日の ' + CITY_TABLE.get(location, location) +\
u' の予報: 最高気温:' + result['forecasts'][0]['high'] + u'C 最低気温:' +\
result['forecasts'][0]['low'] + u'C '+ CODE_TABLE.get(result['condition']['code'] , u"[天候未定義]") + u'\n'
"""
print weather
#! /usr/bin/env python2.7
# -*- coding: utf-8 -*-
CITY_TABLE = {
u'Sendai' : u'仙台市',
u'Tokyo' : u'東京',
}
CODE_TABLE = {
u'0' : u'竜巻',
u'1' : u'熱帯暴風雨',
u'2' : u'ハリケーン',
u'3' : u'激しい雷雨',
u'4' : u'雷雨',
u'5' : u'みぞれ',
u'6' : u'みぞれ',
u'7' : u'みぞれ',
u'8' : u'着氷性の雨',
u'9' : u'霧雨',
u'10' : u'雨氷',
u'11' : u'にわか雨',
u'12' : u'にわか雨',
u'13' : u'にわか雪',
u'14' : u'小雪',
u'15' : u'地吹雪',
u'16' : u'雪',
u'17' : u'ひょう',
u'18' : u'みぞれ',
u'19' : u'ちり',
u'20' : u'霧',
u'21' : u'薄霧',
u'22' : u'曇り',
u'23' : u'大荒れの天気',
u'24' : u'強風',
u'25' : u'寒い',
u'26' : u'曇り',
u'27' : u'おおむね曇り (夜)',
u'28' : u'おおむね曇り (日中)',
u'29' : u'晴れ時々曇り (夜)',
u'30' : u'晴れ時々曇り (日中)',
u'31' : u'快晴 (夜)',
u'32' : u'晴れ',
u'33' : u'晴天 (夜)',
u'34' : u'晴天 (日中)',
u'35' : u'ひょうまじりの雨',
u'36' : u'暑い',
u'37' : u'ところにより雷雨',
u'38' : u'広い範囲で雷雨',
u'39' : u'広い範囲で雷雨',
u'40' : u'ところにより雨',
u'41' : u'豪雪',
u'42' : u'ところによりにわか雪',
u'43' : u'豪雪',
u'44' : u'晴れ時々くもり',
u'45' : u'雷雨',
u'46' : u'小雪',
u'47' : u'ところにより雷雨',
u'3200' : u'該当なし (Yahoo!)',
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment