【Python】APIリクエストをする方法

目次から探す

実践例:PythonでAPIを活用したプロジェクト

この章では、PythonでAPIを活用した実践的なプロジェクトの例を紹介します。

具体的には、天気予報APIを使ったアプリケーション、Twitter APIを使ったツイート分析、Google Maps APIを使った地図表示の3つのプロジェクトを取り上げます。

各APIの使用にはそれぞれAPIキーの取得が必要です。APIキーがないと動作しないので注意してください。

天気予報APIを使ったアプリケーション

OpenWeatherMapという天気予報APIを使って、指定した都市の現在の天気情報を取得するアプリケーションを作成します。

まず、OpenWeatherMapにアクセスしてアカウントを作成し、APIキーを取得してください。

次に、以下のサンプルコードを参考にして、PythonでAPIを呼び出し、天気情報を取得してみましょう。


import requests
API_KEY = "your_api_key"
CITY_NAME = "Tokyo"
URL = f"http://api.openweathermap.org/data/2.5/weather?q={CITY_NAME}&appid={API_KEY}"
response = requests.get(URL)
data = response.json()
print(f"都市名: {data['name']}")
print(f"天気: {data['weather'][0]['description']}")
print(f"気温: {data['main']['temp']}K")

このコードでは、requestsライブラリを使ってGETリクエストを送信し、天気情報をJSON形式で受け取っています。

受け取ったデータから都市名、天気、気温を抽出して表示しています。

Twitter APIを使ったツイート分析

Twitter APIを使って、特定のキーワードを含むツイートを検索し、その内容を分析するアプリケーションを作成します。

まず、Twitter Developerにアクセスしてアカウントを作成し、APIキーとアクセストークンを取得してください。

次に、以下のサンプルコードを参考にして、PythonでAPIを呼び出し、ツイートを検索してみましょう。


import requests
from requests_oauthlib import OAuth1Session
API_KEY = "your_api_key"
API_SECRET = "your_api_secret"
ACCESS_TOKEN = "your_access_token"
ACCESS_TOKEN_SECRET = "your_access_token_secret"
oauth = OAuth1Session(API_KEY, API_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
SEARCH_KEYWORD = "Python"
URL = f"https://api.twitter.com/1.1/search/tweets.json?q={SEARCH_KEYWORD}&count=10"
response = oauth.get(URL)
tweets = response.json()["statuses"]
for tweet in tweets:
print(f"{tweet['user']['name']}さんのツイート:")
print(tweet['text'])
print("-----")

このコードでは、requests_oauthlibライブラリを使ってOAuth認証を行い、Twitter APIにアクセスしています。

検索結果からツイートの内容とユーザー名を抽出して表示しています。

Google Maps APIを使った地図表示

Google Maps APIを使って、指定した住所の地図を表示するアプリケーションを作成します。

まず、Google Cloud Platformにアクセスしてアカウントを作成し、APIキーを取得してください。

次に、以下のサンプルコードを参考にして、PythonでAPIを呼び出し、地図を表示してみましょう。


import requests
from IPython.display import Image
API_KEY = "your_api_key"
ADDRESS = "東京都渋谷区神南1-12-1"
URL = f"https://maps.googleapis.com/maps/api/geocode/json?address={ADDRESS}&key={API_KEY}"
response = requests.get(URL)
data = response.json()
lat_lng = data["results"][0]["geometry"]["location"]
MAP_URL = f"https://maps.googleapis.com/maps/api/staticmap?center={lat_lng['lat']},{lat_lng['lng']}&zoom=15&size=400x400&markers=color:red%7C{lat_lng['lat']},{lat_lng['lng']}&key={API_KEY}"
Image(url=MAP_URL)

このコードでは、requestsライブラリを使ってGoogle Maps APIにアクセスし、指定した住所の緯度経度情報を取得しています。

その後、取得した緯度経度を使って地図を表示しています。

IPython.displayライブラリのImage関数を使って、地図画像を表示しています。

1 2 3

目次から探す