PythonでWeb APIを利用する方法
本記事では、PythonでどのようにAPIリクエストを送信するのかを解説します。
サンプルとして、iTunes APIを利用して、映画情報を取得するコードをPythonで書いてみます。
PythonでWeb APIを利用する方法
利用するライブラリ
PythonでのAPIリクエストはrequests
を利用して行います。下記のコマンドでインストール可能です。
pip install requests
基本的な使い方は以下の通りです。
url
には、APIのエンドポイントのURLを書き込みます。
params
には、辞書型でクエリを入れます。
import requests
requests.get(url, params=params)
また、公式ドキュメントに書かれているように、リクエストの結果は、下記のようにステータスコード, json形式で確認することができます。
import requests result = requests.get(url, params=params) result.status_code # ステータスコードを表示 result.json() # jsonファイルが辞書型で返される
iTunes APIで試す
それでは、実際にiTunes APIで試してみましょう。 今回は、キーワードに「ハリー・ポッター」を指定して、ジャンルを「映画」とすることで、「ハリー・ポッター」シリーズの映画情報を取得してみます。
また、iTunes APIの詳細はこちらがわかりやすいです。
上記のページから、各クエリを確認します。必須クエリは、term
とcountry
です。term
には今回調べたい「ハリー・ポッター」を指定して、日本語情報が欲しいので、country
にはja
を指定します。また、映画に関する情報が欲しいため、media
にはmovie
を指定します。
import requests url = 'https://itunes.apple.com/search' params = {'term': 'ハリー・ポッター', 'country': 'jp', 'media':'movie'} results = requests.get(url, params=params).json()
条件に合った映画情報が辞書型で返されます。この状態だとごちゃごちゃしていて、よくわからないので、辞書キーの1つであるtrackName
で検索してみましょう。
for result in results['results']: print(result['trackName'])
すると、下記のように映画タイトルを取得することができます。
ハリー・ポッターと秘密の部屋 (字幕/吹替) ハリー・ポッターとアズカバンの囚人 (字幕/吹替) ハリー・ポッターと不死鳥の騎士団 (字幕/吹替) ハリー・ポッターと賢者の石 (字幕/吹替) ハリー・ポッターと炎のゴブレット (字幕/吹替) ハリー・ポッターと死の秘宝 PART 1 (字幕/吹替) ハリー・ポッターと死の秘宝 PART 2 (字幕/吹替) ハリー・ポッターと謎のプリンス (字幕/吹替)