今日は、気象庁のホームページの裏側から、本物の天気データを取ってきます。普段はテレビや天気アプリで見ている情報が、実は「」というファイルで配信されていて、誰でもPythonで読めるんだ。
Step 1: 自分の住んでる地域コードを知ろう
気象庁では、都道府県に「地域コード(6桁の数字)」が割り振られています。代表的な地域を表にしました:
| 都道府県 | コード |
|---|---|
| 北海道 | 016000 |
| 東京 | 130000 |
| 神奈川 | 140000 |
| 愛知 | 230000 |
| 大阪 | 270000 |
| 広島 | 340000 |
| 福岡 | 400000 |
| 沖縄 | 471000 |
Step 2: 天気をもらってくる
colab に貼り付け、▶ 実行
Python
import requests
# 自分の住んでる地域のコードを書く(東京なら 130000)area_code = "130000"
# 気象庁の予報JSONを取得url = f"https://www.jma.go.jp/bosai/forecast/data/forecast/{area_code}.json"response = requests.get(url)data = response.json()
# data の中身は深い構造になっている# 今日の天気を取り出すtoday_weather = data[0]["timeSeries"][0]["areas"][0]["weathers"][0]print("今日の天気:", today_weather)想定される実行結果
▶ 実行する 想定される実行結果(例示)
今日の天気: くもり 時々 晴れ 夜遅く 雨Step 3: 1週間の予報も取ってみる
1週間分の天気を取得
Python
import requests
area_code = "130000"url = f"https://www.jma.go.jp/bosai/forecast/data/forecast/{area_code}.json"data = requests.get(url).json()
# 週間予報部分を取り出すweekly = data[1]["timeSeries"][0]dates = weekly["timeDefines"] # 日付weathers = weekly["areas"][0]["weatherCodes"] # 天気コード
# 天気コード→絵文字emoji = { "100": "☀️ 晴れ", "101": "☀️🌥️ 晴れ時々曇り", "200": "☁️ 曇り", "201": "☁️🌤️ 曇り時々晴れ", "300": "🌧️ 雨", "301": "☔️ 雨/晴れ", "400": "❄️ 雪",}
print("今週の予報:")for date, code in zip(dates, weathers): day = date[5:10] # '2026-05-23' から '05-23' を取り出す weather = emoji.get(code, "?") print(f" {day}: {weather}")想定される実行結果
▶ 実行(毎日違う結果になる) 想定される実行結果(例示)
今週の予報:
05-23: ☀️ 晴れ
05-24: ☀️🌥️ 晴れ時々曇り
05-25: ☁️ 曇り
05-26: 🌧️ 雨
05-27: ☔️ 雨/晴れ
05-28: ☀️ 晴れ
05-29: ☀️ 晴れStep 4: 雨の日だけお知らせ
明日が雨ならお知らせ
Python
import requests
area_code = "130000"url = f"https://www.jma.go.jp/bosai/forecast/data/forecast/{area_code}.json"data = requests.get(url).json()
tomorrow_weather = data[0]["timeSeries"][0]["areas"][0]["weatherCodes"][1]
if "300" <= tomorrow_weather <= "399": print("☔️ 明日は雨だよ!傘を持っていこう!")elif "400" <= tomorrow_weather <= "499": print("❄️ 明日は雪が降るかも!暖かくして出かけよう。")else: print("☀️ 明日は雨は降らなさそう。良い1日を!")すごい!
テレビの天気予報と同じ情報を、自分のパソコンが持つようになった!しかも、自分のルールで「雨の日だけ知らせる」みたいなアレンジまでできちゃう。
やってみよう
- おばあちゃんの住んでる町のコードに変えて、お天気を確認
- 東京・大阪・札幌・那覇 の予報を一気に並べて表示
- 気温も同じJSONに入っているので、最高気温・最低気温も取り出してみる
- Slackに「明日の天気」を毎朝送るプログラム(おうちの人と一緒に)
おうちの人・先生へ
気象庁の防災情報JSONは「公式サポート対象外」のエンドポイントですが、教育目的・個人利用では問題ありません。本格運用の場合は気象庁の有料データサービスや WeatherAPI などの利用を検討してください。リクエスト頻度を控えめにして気象庁のサーバーに負荷をかけないようご配慮ください(1日数回が目安)。
次回予告
次回は、これまで学んだことを使って、自由研究プロジェクトに挑戦します。先生をびっくりさせる作品を作ろう!
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。