見出し画像

pythonで天気APIをたたくときの地域コード

livedoor天気互換の天気予報API があります。これをpythonから利用するとき、入力の地域名を地域コードに変換する必要があります。ので、どっかに辞書型とかペアリスト型で落ちていないかな、と検索しましたが、なかなかなさそうなので自分で作成しました。例えば、「茨城県の天気は?」だと「茨城」の地域コードがないので、県庁所在地の「水戸」と同じ地域コードにしています。間違いがあるかもしれませんのでご利用の際は自己責任でお願いいたします(石川県データが多いのは能登半島地震を気にしてのことです)。

import requests
import json 

kagya_weather_area_dic = {'北海道':'016010','札幌':'016010','青森':'020010','岩手':'030010','盛岡':'030010',\
        '宮城':'040010','仙台':'040010', '秋田':'050010','山形':'060010','福島':'070010','茨城':'080010','水戸':'080010',\
        '栃木':'090010','宇都宮':'090010','群馬':'100010','前橋':'100010','埼玉':'110010','さいたま':'110010',\
        '千葉':'120010','東京':'130010', '神奈川':'140010','横浜':'140010','新潟':'150010','富山':'160010',\
        '能登':'170020','珠洲':'170020','小松':'170010','白山':'170010',\
        '石川':'170010','金沢':'170010','輪島':'170020','福井':'180010','山梨':'190010','甲府':'190010','長野':'200010',\
        '岐阜':'210010','静岡':'220010','愛知':'230010','名古屋':'230010','三重':'240010','津':'240010',\
        '滋賀':'250010','大津':'250010', '京都':'260010','大阪':'270000','兵庫':'280010','神戸':'280010',\
        '奈良':'280010','和歌山':'290010','鳥取':'310010','島根':'320010','松江':'320010','岡山':'330010',\
        '広島':'340010','山口':'350020','徳島':'360010','香川':'370000','高松':'370000','愛媛':'380010','松山':'380010',\
        '高知':'390010','福岡':'400010','佐賀':'410010','長崎':'420010','熊本':'430010','大分':'440010','宮崎':'450010',\
        '鹿児島':'460010','沖縄':'471010','那覇':'471010'}


 day_id = 0     # 今日 , 明日ならば day_id = 1
 area_id = kagya_weather_area_dic[area]
 url = "https://weather.tsukumijima.net/api/forecast?city=" + str(area_id)
 res = requests.get(url)
 res_dic = json.loads(res.text)
 weather = res_dic['forecasts']
 reply = weather[day_id]['dateLabel'] + 'の' + area + 'の天気:' + weather[day_id]['telop'] 

この記事が気に入ったらサポートをしてみませんか?