OpenWeatherMapからAPIキーを取得して、Pythonでデータを分析する

OpenWeatherMapからAPIキーを取得して、Pythonでデータを分析する

OpenWeatherMapは世界中の天気情報を取得できる海外のオンラインサービスです。指定した場所の天気や気温、湿度、気圧などを取得できます。

無料版と有料版がありますが、無料版でも現在の天気などが取得できるので、これを試していきます。

http://OpenWeatherMap.org

OpenWeatherMapのWeb APIを利用するには、次の手順が必要です。

➀アカウントを作成する

➁APIキーを取得する

➂APIを利用する

右上のsign inをクリックします。アカウントを作成する画面になるので必要事項を入力します。アカウントを作成するとAPIキーが取得できます。

Keyから取得したAPIキーが確認できます。

pricingをクリックします。無料版で使えるサービスが確認できます。current weatherをクリックしてみましょう。

API callが確認できます。こちらを利用していきます。

api.openweathermap.org/data/2.5/weather?q={city name}&appid={API key}

api.openweathermap.org/data/2.5/weather?q={city name},{state code}&appid={API key}

api.openweathermap.org/data/2.5/weather?q={city name},{state code},{country code}&appid={API key}

都市名で指定して天気情報を取得する

{city}を都市名に、{API key}を取得したAPIキーに置き換えてデータをリクエストしていきます。

置き換えるその時、Pythonではformat文を使うのが便利です。

ちょっと練習をしてみましょう。


ans = “私は{key1}です。あなたは{key2}です”
print(ans)

ans = ans.format(key1=”山田”, key2=”鈴木”)
print(ans)


うまく置き換えられましたね。

では、この要領で都市名から天気情報を取得してみましょう。

import requests
import json
url = “http://api.openweathermap.org/data/2.5/weather?q={city}&appid={key}&lang=ja&units=metric”
url = url.format(city=”Tokyo”,key=”取得したAPIキー”)

jsondata = requests.get(url).json()
print(jsondata)

解説

import requests インターネットにアクセスするためのrequestsをimportします。
import json JSONを扱えるようにする標準ライブラリのjsonをimportします。
url = “http://api.openweathermap.org/data/2.5/weather?q={city}&appid={key}&lang=ja&units=metric”海外サイトなので、日本語表示にするためlang=ja、気温の単位も摂氏にするためunits=metricを追記しました。http://を追記しAPI callを貼り付けます。変数urlとし代入します。
url = url.format(city=”Tokyo”,key=”取得したAPIキー”)format文を使い、置き換えます。
jsondata = requests.get(url).json()getした値に.json()と命令して取り出します。
print(jsondata)取得したデータを表示します。

しっかり日本語で東京都となっています。また、temp_maxやtemp_minも摂氏になっています。

*尚、ここではバージョン「Python 3.10.1」を使用しています。

この本から引用、参考に学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが2,000円程ならコスパよく、買っておいてよかったと満足してます。


わからないことはプロフェッショナルから学ぶのが一番

キャリアアップに必要なスキルを取得しよう。

オンラインで受講ができるスクールですので、全国どこからでも。