0Pricing
Python Academy · レッスン

requestsでAPIを扱う

オンラインAPIからデータを取得し、操作する方法を学びます。

「requestsでAPIを扱う」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン4/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全5レッスンが含まれています。

APIの利用入門

APIの利用入門

API(Application Programming Interface)を使用すると、アプリケーション同士が通信できます。Pythonのrequestsライブラリを使えば、HTTPリクエストを送信してレスポンスを処理することで、APIを簡単に利用できます。

このレッスンでは、requestsライブラリを使用してAPIリクエストを送信し、レスポンスを処理する方法を学習します。

requestsでAPIを扱う — イラスト1

requestsのインストール

requestsのインストール

requestsライブラリをインストールするには、ターミナルで次のコマンドを実行します。

pip install requests

インストールが完了したら、Pythonスクリプトでインポートできます。

# Importing requests
import requests

print("Requests library imported successfully")

GETリクエストの送信

GETリクエストの送信

GETメソッドは、APIからデータを取得するために使用します。requests.get()関数を使用してGETリクエストを送信します。

# Sending a GET request
import requests

response = requests.get("https://jsonplaceholder.typicode.com/posts/1")
print(response.json())  # Outputs the JSON response

POSTリクエストの送信

POSTリクエストの送信

POSTメソッドは、APIにデータを送信するために使用します。requests.post()関数を使用します。

# Sending a POST request
import requests

payload = {"title": "foo", "body": "bar", "userId": 1}
response = requests.post("https://jsonplaceholder.typicode.com/posts", json=payload)
print(response.json())  # Outputs the response

レスポンスの処理

レスポンスの処理

requestsライブラリには、レスポンスを処理するための次のような属性が用意されています。

  • response.status_code:HTTPステータスコード。
  • response.json():JSON形式のレスポンスデータ。
  • response.text:レスポンスの生の内容。
# Handling responses
response = requests.get("https://jsonplaceholder.typicode.com/posts/1")
if response.status_code == 200:
    print("Success:", response.json())
else:
    print("Failed with status code:", response.status_code)

クエリパラメータの追加

クエリパラメータの追加

GETリクエストのparams引数を使用して、APIにクエリパラメータを渡せます。

# Adding query parameters
params = {"userId": 1}
response = requests.get("https://jsonplaceholder.typicode.com/posts", params=params)
print(response.json())

ヘッダーの追加

ヘッダーの追加

ヘッダーを使用すると、APIキーやコンテンツタイプなどの追加情報をリクエストとともに送信できます。

# Adding headers
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get("https://jsonplaceholder.typicode.com/posts", headers=headers)
print(response.status_code)

エラー処理

エラー処理

requestsライブラリには、ネットワーク関連のエラーを処理するための例外処理機能が組み込まれています。

# Handling errors
try:
    response = requests.get("https://jsonplaceholder.typicode.com/invalid")
    response.raise_for_status()
except requests.exceptions.HTTPError as err:
    print("HTTP error occurred:", err)
except requests.exceptions.RequestException as err:
    print("Request error occurred:", err)

requestsでよくある間違い

requestsでよくある間違い

次のような間違いを避けてください。

  • response.raise_for_status()を使用してHTTPエラーを処理しない。
  • APIキーなどの機密情報をスクリプトにハードコードする。
  • 正しいHTTPメソッド(例:GET、POST)の指定を忘れる。

学習内容のまとめ

学習内容のまとめ

このレッスンでは、次の内容を学習しました。

  • requestsライブラリをインストールしてインポートする方法。
  • APIにGETリクエストとPOSTリクエストを送信する方法。
  • レスポンスの処理、クエリパラメータやヘッダーの追加、エラー処理の方法。

よくできました。次のトピックに進みましょう。

requestsでAPIを扱う — イラスト11

よくある質問

「requestsでAPIを扱う」レッスンは無料ですか?

はい。「requestsでAPIを扱う」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全5レッスンが含まれています。

「requestsでAPIを扱う」で何を学びますか?

オンラインAPIからデータを取得し、操作する方法を学びます。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Python Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/5です。

「requestsでAPIを扱う」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPython Academyレッスンでコードを書いて実行できますか?

はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Pandasによるデータ分析
  2. Matplotlibによるデータ可視化
  3. 数値計算のためのNumPy
  4. requestsでAPIを扱う
  5. BeautifulSoupによるWebスクレイピング
← Python Academyに戻る