こんにちは、AKデザインの中の人です。
今回は「PythonのrequestsでAPIデータを取得する基本」について解説していきます。
Pythonのrequestsライブラリは、APIとのやり取りに非常に便利です。本記事では、実務に役立つ具体的なコード例と注意点を解説します。
ちょっと難しそうに見える内容でも、ひとつずつ整理していけば理解できるものです。この記事では初心者の方でもイメージしやすいように、なるべくシンプルにまとめています。
サクッと理解したい方はぜひ最後まで読んでみてください!
\n\n
導入・全体像
近年、企業や個人が開発するアプリケーションにおいて、API(Application Programming Interface)との連携が不可欠となっています。特に、Pythonのrequestsライブラリは、HTTPリクエストを簡単に行うことができるため、多くの開発者に利用されています。このライブラリを使えば、さまざまなサービスからデータを取得し、加工したり分析したりすることが可能です。この記事では、requestsを使ってAPIデータを取得する基本的な方法と実務で役立つ具体的なポイントについて解説します。
基本の考え方
関連動画をピックアップ!
requestsライブラリを使用する基本的な流れは、リクエストを送信し、返ってきたレスポンスを解析するというものです。ここで押さえておきたいのは、HTTPメソッドの選択や、エラーハンドリング、レスポンス形式の理解です。
以下は、GETリクエストを送信してAPIからデータを取得する基本的なコードです。このコードでは、公共APIからJSON形式のデータを取得します。
import requests
# APIエンドポイント
url = 'https://api.example.com/data'
# GETリクエストを送信
response = requests.get(url)
# ステータスコードを確認
if response.status_code == 200:
# JSON形式のデータをパース
data = response.json()
print(data)
else:
print(f'エラー: {response.status_code} - {response.text}')
このコードでは、requests.get()メソッドを使用しています。ステータスコード200は成功を示しているため、データをJSON形式で取得しています。このように、ステータスコードによってレスポンスの成功/失敗を判断することが重要です。
実務での見方や例
実際の業務では、APIから取得したデータをそのまま使うことは少なく、Pandasなどのデータ処理ライブラリと連携させることが一般的です。以下は、APIから取得したデータをPandasのDataFrameに変換する例です。
import pandas as pd
# JSONデータをDataFrameに変換
df = pd.DataFrame(data)
# データの先頭を表示
print(df.head())
このコードでは、取得したJSONデータをPandasのDataFrameに変換しています。これにより、データの分析や可視化が簡単に行えるようになります。実務では、ここからさらにデータを条件でフィルタリングしたり、集計したりする作業が続きます。
使いどころや注意点
APIを利用する際には、いくつかの注意点があります。例えば、APIの利用制限(レートリミット)や、認証が必要な場合には適切な処理が必要です。では、認証が必要なAPIにアクセスするためのコード例を見てみましょう。
# 認証情報
api_key = 'your_api_key'
headers = {'Authorization': f'Token {api_key}'}
# GETリクエストを送信
response = requests.get(url, headers=headers)
if response.status_code == 200:
data = response.json()
else:
print(f'エラー: {response.status_code} - {response.text}')
上記のコードでは、APIキーを使った認証を行っています。headersに認証情報を追加することで、セキュアにAPIへアクセスできます。また、リクエストの実行前には、必ずAPIのドキュメントを確認し、リクエストの構造やレスポンス形式についてしっかり把握しておくことが重要です。
関連動画をピックアップ!

まとめ
Pythonのrequestsライブラリを使ったAPIデータの取得について、基本の考え方と実務での具体例、注意点を解説しました。APIを通じて多様なデータにアクセスできることは、業務の効率化にもつながります。現場でこれらのスキルを活用し、より良いデータ活用を目指していきましょう。
