この記事では、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は非常に強力なツールであり、さまざまなプロジェクトで活用できます。このプログラムからさらに発展させて、自分だけの便利ツールやアプリケーション作りに挑戦してみてください!