PR

Pythonで天気予報を自動取得して旅行計画に反映する方法【初心者向け】

本ページにはプロモーションが含まれます。

python-weather-forecast-travel プログラミング
スポンサーリンク

旅行の予定を立てるとき、まず気になるのは「天気」じゃないでしょうか。 せっかく休みを合わせて、行きたい場所を調べて、モデルコースまで作ったのに── 当日がまさかの大雨で、ほとんど楽しめなかった。そんな経験、きっと一度はありますよね。

私自身、旅行前日は天気アプリを何度も開いて「晴れるかな…?」と確認してしまうタイプです。 でも、天気ってコロコロ変わるし、前日に慌てて予定を組み直すのって、正直かなり大変なんですよね。

そこで今回紹介したいのが、Pythonを使って旅行先の天気予報を自動で取得する方法です。 「旅行が近づいてきたら、毎朝自動で天気をチェックしてくれる」 「雨の日だけ通知してくれる」 そんな仕組みが自分で作れたら、旅行の不安がぐっと減ると思いませんか。

しかも、Python初心者でもコピペで動かせるように、できるだけシンプルなコードで解説します。 旅行好きのあなたが、次の旅をもっと快適に楽しむための“ちょっと便利な自動化”。 そんなイメージで読み進めてもらえたら嬉しいです。

旅行と天気の関係を整理する

旅行を計画するとき、まず気になるのは「天気」ですよね。 行き先を決めて、モデルコースを作って、楽しみにしていたのに── 当日が雨で予定が全部崩れてしまった。そんな経験、きっと一度はあると思います。

特に、屋外スポットが多い旅行ほど天気の影響は大きくて、

  • 晴れなら絶景が楽しめる
  • 曇りなら写真の色が少し落ちる
  • 雨なら屋内スポットに切り替えが必要

と、同じ旅でも「天気次第で満足度が大きく変わる」んですよね。

しかも、天気は前日になって急に変わることもあります。 「昨日まで晴れだったのに、今日になって雨マークが出てきた…」 そんな状況になると、慌てて予定を組み直すことになり、せっかくの旅行準備が台無しになってしまいます。

だからこそ、旅行の天気を 早めに、そして定期的にチェックできる仕組み があると安心なんです。 毎朝自動で天気を確認できたり、雨の日だけ通知が来たりしたら、 「天気のせいで旅行が失敗する」確率をぐっと減らせます。

この記事では、その“ちょっと便利な仕組み”をPythonで作っていきます。 旅行好きのあなたが、次の旅をもっと快適に楽しめるように、まずは天気と旅行の関係をしっかり整理しておきましょう。

この記事でできること

この記事を読み終えるころには、あなたは Pythonで旅行先の天気を自動で取得する仕組み を自分で作れるようになっています。 「プログラミングって難しそう…」と思うかもしれませんが、安心してください。 ここで紹介するコードはすべてコピペで動くようにしてあり、旅行好きの方でも気軽に試せる内容になっています。

具体的には、次のようなことができるようになります。

旅行先の天気予報をPythonで自動取得できるようになる

旅行先の都市名を指定するだけで、 3時間ごとの天気・気温・天気の説明 をまとめて取得できます。

「旅行の日だけ天気を知りたい」 「複数の候補地を比較したい」 そんなときにとても便利です。

日付ごとに天気を一覧表示できるようになる

旅行では「日ごとの天気」が重要ですよね。
この記事では、取得した天気データを 日付ごとに整理して一覧表示する方法 を紹介します。

  • 晴れの日は ☀
  • 雨の日は ☔
  • 曇りの日は ☁

といったアイコンを付けて、ひと目で分かるように整形します。

平均気温や天気の傾向を自動で計算できる

旅行中の服装を決めるとき、気温の目安はとても大事です。 この記事では、Pythonで その日の平均気温を自動計算 する方法も紹介します。

「この日は少し寒そうだから上着を持っていこう」 そんな判断がしやすくなります。

毎朝自動で天気をチェックする仕組みを作れる

旅行が近づいてきたら、毎朝自動で天気をチェックできたら便利ですよね。 この記事では、Windows・Macそれぞれで Pythonを自動実行する方法 も解説します。

  • 毎朝9時に天気を自動チェック
  • 雨の日だけ通知
  • 旅行3日前に自動で天気を送る

こんな仕組みも作れるようになります。

LINE通知やメール通知に発展できる

この記事の内容を応用すると、 LINE Notify やメール通知と組み合わせて、 「雨の日だけ通知が来る」仕組みも作れます。

旅行前の不安がぐっと減るはずです。

天気予報APIの準備

Pythonで天気予報を取得するためには、まず「天気データを提供してくれるサービス」にアクセスする必要があります。 この記事では、世界中の天気データを無料で提供している OpenWeatherMap を使います。

「APIって難しそう…」と思うかもしれませんが、登録してキーをコピーするだけなので、数分で終わります。 ここでは、初めての人でも迷わないように、手順をひとつずつ丁寧に説明します。

OpenWeatherMapにアクセスする

まずは公式サイトにアクセスします。

OpenWeather APIs for Weather, Energy, and Environment
OpenWeather provides global APIs for weather, environmental, and energy data, including current conditions, forecasts, h…

トップページは英語ですが、操作はとても簡単です。

無料アカウントを作成する

右上の Sign up をクリックして、アカウントを作成します。

  • メールアドレス
  • パスワード
  • 名前(適当でOK)

これだけで登録できます。 確認メールが届くので、リンクをクリックして認証を完了させましょう。

APIキーを取得する

ログインしたら、右上のメニューから My API Keys を開きます。

すると、すでに「Default」という名前のAPIキーが発行されているはずです。 このキーが、Pythonから天気データを取得するための“鍵”になります。

コピーして、あとでコードに貼り付けられるようにしておきましょう。

無料プランでどこまで使える?

OpenWeatherMapの無料プランでは、

  • 3時間ごとの天気予報(最大5日分)
  • 気温・湿度・天気の説明
  • 雨・雪の量
  • 風速

など、旅行に必要な情報はすべて取得できます。

この記事で使う機能はすべて無料で利用できるので安心してください。

Pythonで天気予報を取得する

ここからいよいよ、Pythonを使って実際に天気予報を取得していきます。 「APIって難しそう…」と思うかもしれませんが、安心してください。 ここで紹介するコードはすべて コピペでそのまま動く ようにしてあります。

まずは、旅行先の都市名を指定して、OpenWeatherMapから天気データを取得する基本の仕組みを作っていきましょう。

必要なライブラリをインストールする

天気データを取得するには、Pythonの requests というライブラリを使います。 もしまだインストールしていなければ、次のコマンドを実行してください。

pip install requests

インストールが完了すると、緯度・経度から地球上の距離を簡単に計算できるようになります。

基本の天気取得コード(コピペで動く)

以下のコードをそのままコピーして実行すると、
指定した都市の「3時間ごとの天気予報」が取得できます。

import requests

API_KEY = "あなたのAPIキーをここに"
CITY = "Tokyo"  # 旅行先の都市名
URL = "https://api.openweathermap.org/data/2.5/forecast"

params = {
    "q": CITY,
    "appid": API_KEY,
    "units": "metric",  # 摂氏(℃)
    "lang": "ja",       # 日本語
}

response = requests.get(URL, params=params)
data = response.json()

# 最初の5件だけ表示
for item in data["list"][:5]:
    dt_txt = item["dt_txt"]
    weather = item["weather"][0]["description"]
    temp = item["main"]["temp"]
    print(f"{dt_txt} / {weather} / {temp}℃")

コードのポイントを分かりやすく解説

APIキーを設定する

API_KEY = "あなたのAPIキー"

OpenWeatherMapで取得したキーをここに貼り付けます。

都市名を指定する

CITY = "Tokyo"

ここを変えるだけで、京都でも札幌でも海外でもOKです。

CITY = "Kyoto"
CITY = "Sapporo"
CITY = "Paris"

日本語で天気を取得できる

"lang": "ja"

これを設定しているので、
「clear」ではなく「晴天」など日本語で返ってきます。

摂氏(℃)で気温を取得できる

"units": "metric"

これで気温が「℃」になります。

実行するとどんな結果が出るの?

例として、東京の天気を取得するとこんな感じになります。

2026-10-01 09:00:00 / 曇りがち / 21.5℃
2026-10-01 12:00:00 / 晴天 / 23.1℃
2026-10-01 15:00:00 / 晴天 / 24.0℃
2026-10-01 18:00:00 / 曇り / 20.8℃
2026-10-01 21:00:00 / 小雨 / 18.9℃

このように、3時間ごとの天気がズラッと取得できます。
旅行前に「どの時間帯が晴れそうか」を確認するのにも便利です。

日付ごとに天気を一覧表示する

旅行の計画を立てるときに知りたいのは、「3時間ごとの天気」よりも “日ごとの天気” ですよね。 「初日は晴れそうだから屋外スポットに行こう」 「2日目は雨っぽいから屋内中心にしよう」 そんなふうに、天気を見ながら予定を組みたいはずです。

そこでここでは、取得した天気データを 日付ごとにまとめて一覧表示する方法 を紹介します。 Pythonが自動で「その日の天気の傾向」や「平均気温」を計算してくれるので、旅行の準備がぐっと楽になります。

まずは天気データを日付ごとに整理する

OpenWeatherMap の /forecast API は「3時間ごとの天気」を返します。 つまり、1日に 8 件ほどのデータが返ってくるので、それを 日付ごとにまとめる処理 が必要です。

以下のコードを追加すると、日付ごとに天気を整理できます。

from datetime import datetime

def format_weather(data):
    result = {}
    for item in data["list"]:
        date = item["dt_txt"].split(" ")[0]
        weather = item["weather"][0]["main"]
        temp = item["main"]["temp"]

        if date not in result:
            result[date] = {"temps": [], "weathers": []}

        result[date]["temps"].append(temp)
        result[date]["weathers"].append(weather)

    return result

weather_by_date = format_weather(data)

次に、日付ごとの天気をわかりやすく表示する

整理したデータを使って、
「その日の平均気温」や「天気の傾向」を表示します。

for date, info in weather_by_date.items():
    avg_temp = sum(info["temps"]) / len(info["temps"])
    main_weather = max(set(info["weathers"]), key=info["weathers"].count)

    mark = "☀" if main_weather == "Clear" else "☔" if main_weather == "Rain" else "☁"
    print(f"{date} {mark} {main_weather} / 平均気温: {avg_temp:.1f}℃")

出力例(旅行計画に使いやすい形)

2026-10-01 ☀ Clear / 平均気温: 22.3℃
2026-10-02 ☁ Clouds / 平均気温: 21.1℃
2026-10-03 ☔ Rain / 平均気温: 19.8℃

これだけで、旅行の予定がかなり立てやすくなります。

  • 初日は晴れ → 屋外スポットへ
  • 2日目は曇り → 写真は少し暗めかも
  • 3日目は雨 → 屋内スポット中心に変更

こんなふうに、天気に合わせて柔軟に計画できます。

自動実行と通知の応用

ここまでで、Pythonを使って旅行先の天気を取得し、日付ごとに一覧表示できるようになりました。 でも、旅行が近づいてくると、毎朝わざわざスクリプトを実行するのは少し面倒ですよね。

そこでここでは、Pythonを自動で実行する方法 と、 さらに便利な LINE通知やメール通知への応用 を紹介します。

「旅行前に毎朝自動で天気が届く」 「雨の日だけ通知が来る」 そんな仕組みが作れると、旅行の不安がぐっと減ります。

Windowsで自動実行する(タスクスケジューラ)

Windowsでは、標準機能の タスクスケジューラ を使うと、 Pythonスクリプトを毎朝決まった時間に自動で実行できます。

  1. スタートメニュー →「タスクスケジューラ」と検索
  2. 右側の「基本タスクの作成」をクリック
  3. 名前を「天気チェック」などにする
  4. 「毎日」を選び、実行したい時間を設定(例:毎朝9時)
  5. 「操作」で「プログラムの開始」を選択
  6. プログラムに Python のパスを指定
  7. 引数にスクリプトのパスを指定

これで、毎朝自動で天気をチェックしてくれるようになります。

Mac / Linux で自動実行する(cron)

MacやLinuxでは、cron を使うと簡単に自動化できます。

ターミナルで次を実行:

crontab -e

LINE通知に発展させる(雨の日だけ通知も可能)

旅行前に「今日の天気」をLINEで受け取れたら便利ですよね。
さらに、雨の日だけ通知するようにすれば、
「傘を持っていくべき日」が自動で分かります。

LINE Notify の使い方

  1. LINE Notify にログイン
  2. 「トークンを発行する」をクリック
  3. トークンをコピー
  4. Pythonで次のように送信
import requests

TOKEN = "あなたのLINE Notifyトークン"
message = "今日の天気は晴れです!"

requests.post(
    "https://notify-api.line.me/api/notify",
    headers={"Authorization": f"Bearer {TOKEN}"},
    data={"message": message}
)

雨の日だけ通知する例

if main_weather == "Rain":
    requests.post(
        "https://notify-api.line.me/api/notify",
        headers={"Authorization": f"Bearer {TOKEN}"},
        data={"message": f"今日は雨です☔ 平均気温は {avg_temp:.1f}℃ です"}
    )

これで、旅行前に「雨の日だけLINE通知」が届くようになります。

メール通知にすることも可能

もしLINEを使っていない場合は、メール通知でもOKです。

  • Gmail API
  • SMTP(最も簡単)

などを使えば、Pythonからメールを送れます。

まとめ

旅行の楽しさは、天気によって大きく左右されます。 「晴れたら絶景が楽しめるのに…」 「雨なら予定を変えないと…」 そんな不安を少しでも減らすために、Pythonで天気を自動取得する仕組みを作ってきました。

この記事で紹介したコードを使えば、

  • 旅行先の天気を自動で取得できる
  • 日付ごとに天気の傾向や平均気温を一覧化できる
  • 晴れ・雨・曇りをアイコンで直感的に把握できる
  • 毎朝自動で天気をチェックする仕組みが作れる
  • 雨の日だけLINE通知を送ることもできる

といった“旅行の不安を減らす便利な仕組み”を自分の手で作れるようになります。

旅行前に天気を何度も確認していた時間が、Pythonによって少しだけ楽になる。 そして、天気に合わせて柔軟に予定を変えられることで、旅の満足度がぐっと上がる。 そんな体験を、この記事を読んでくれたあなたにも味わってほしいと思っています。

もし今回の仕組みが役に立ったら、 次は LINE通知をもっと便利にする仕組み や 複数都市の天気を比較するツール などにも挑戦できます。

旅行をもっと快適に、もっと楽しくするために。 Pythonの力を、これからも一緒に活用していきましょう。

スポンサーリンク
タイトルとURLをコピーしました