【Python】OpenWeatherMap APIを使って天気情報を取得する方法

Python

この記事では、Pythonを使ってOpenWeatherMap APIから天気情報を取得する方法を解説します。APIを利用することで、リアルタイムの天気データや予報データを簡単に取得できます。エンジニア初心者でも取り組みやすい内容なので、ぜひ最後まで読んでみてください!

OpenWeatherMap APIとは?

OpenWeatherMapは、世界中の天気情報を提供しているサービスです。無料でも利用できるAPIがあり、現在の天気や5日間の予報などを取得できます。無料プランでは1分間に60回までリクエストが可能です。

必要な準備

OpenWeatherMapのAPIキーを取得する

まずはOpenWeatherMapの公式サイトにアクセスし、アカウント登録を行います。その後、「API Keys」のページからAPIキー(文字列)を取得してください。このキーはAPIにアクセスするために必要です。

過去記事:OpenWeatherMapのAPIキーの取得手順

Python環境の準備

Pythonがインストールされていない場合は、公式サイトからインストールしてください。

過去記事:【Python】インストール手順を分かりやすく解説(Window編)

また、今回使用するライブラリとして以下をインストールします。

pip install requests

requestsライブラリはHTTPリクエストを送信するために使用します。

実際にコードを書いてみましょう

ここからは具体的なコードを書いていきます。今回は「指定した都市の現在の天気情報」を取得するプログラムを作成します。

必要なライブラリをインポート

まずは必要なライブラリをインポートします。

import requests
import json

requestsはAPIへのリクエスト送信に使用し、jsonはレスポンスデータの解析に使用します。

APIキーとエンドポイントを設定

次に、APIキーとエンドポイント(URL)を設定します。

API_KEY = "あなたのAPIキー" # OpenWeatherMapで取得したAPIキーを入力してください
BASE_URL = "http://api.openweathermap.org/data/2.5/weather"

天気情報を取得する関数を作成

都市名を指定して天気情報を取得する関数を書きます。

def get_weather(city_name):
    # パラメータ設定
    params = {
        "q": city_name,
        "appid": API_KEY,
        "units": "metric", # 摂氏で表示するために'metric'を指定
        "lang": "ja" # 日本語で表示するために'ja'を指定
    }

    # APIリクエスト送信
    response = requests.get(BASE_URL, params=params)

    # レスポンス確認
    if response.status_code == 200:
        data = response.json()
        return data
    else:
        print(f"エラー: {response.status_code}")
        return None

この関数では、都市名(例: “Tokyo”)を引数として受け取り、その都市の天気情報を返します。

天気情報の表示

取得したデータから必要な情報だけ抜き出して表示します。

def display_weather(data):
    if data:
        city = data["name"]
        weather = data["weather"][0]["description"]
        temp = data["main"]["temp"]
        humidity = data["main"]["humidity"]

        print(f"都市: {city}")
        print(f"天気: {weather}")
        print(f"気温: {temp}℃")
        print(f"湿度: {humidity}%")
    else:
        print("データがありません。")

実行してみましょう

最後に、この関数を呼び出して実行してみます。

if __name__ == "__main__":
    city_name = input("都市名を入力してください: ")
    weather_data = get_weather(city_name)
    display_weather(weather_data)

プログラムを実行すると、都市名(例: Tokyo)を入力した後、その都市の現在の天気情報が表示されます。

■実行結果例

都市名を入力してください: tokyo
都市: 東京都
天気: 曇りがち
気温: 13.77℃
湿度: 67%

これで基本的なプログラムが完成です!

まとめ

今回はPythonでOpenWeatherMap APIを利用し、指定した都市の現在の天気情報を取得する方法をご紹介しました。APIは非常に強力なツールであり、さまざまなプロジェクトで活用できます。このプログラムからさらに発展させて、自分だけの便利ツールやアプリケーション作りに挑戦してみてください!

タイトルとURLをコピーしました