Pythonでpurlとrequestsを用いてAPIからのレスポンスを取得する

スポンサーリンク

Pythonでpurlとrequestsを用いてAPIからのレスポンスを取得してみます。

なお、今回はpurlとrequestsを用いますので、事前にこの2つのライブラリがインストールされているかを確認しスクリプトを実行してください。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows11)

■purlとrequestsを用いてAPIからのレスポンスを取得する

では、早速purlとrequestsを用いてAPIからのレスポンスを取得するスクリプトを書いていきます。

■コード

import requests
from purl import URL

# APIエンドポイントのURLを作成
url = URL("https://jsonplaceholder.typicode.com/posts")

# GETリクエストの送信
response = requests.get(url.as_string())

# レスポンスのステータスコードを表示
print("Response Status Code:", response.status_code)

# レスポンスのJSONデータを取得
data = response.json()

# レスポンスのデータを表示
for item in data:
    print("Title:", item["title"])
    print("Body:", item["body"])
    print("-----")

まずはrequestsとpurlをインポートします。requestsはHTTPリクエストを送信するためのライブラリであり、purlはURLを操作するための便利なライブラリです。

次に、URLオブジェクトを作成します。ここでは、JSONPlaceholder APIの投稿エンドポイントにアクセスするためのURLを指定します。なお、”https://jsonplaceholder.typicode.com”は、ダミーデータを提供するためのフェイクAPIです。

指定後、responseという変数を定義。requests.get()関数を使用して、作成したURLにGETリクエストを送信します。get()関数は、指定したURLに対してHTTP GETリクエストを行い、レスポンスを取得します。この場合、JSONPlaceholder APIからのレスポンスを取得しています。

取得後、print(“Response Status Code:”, response.status_code)と記述し、レスポンスのステータスコードを表示します。ステータスコードは、リクエストの処理結果を示す数値であり、200は成功を示します。

その後、dataという変数を定義。response.json()メソッドを使用し、レスポンスのJSONデータをPythonの辞書オブジェクトに変換します。json()メソッドは、レスポンスのボディをJSON形式のデータとして解釈し、Pythonオブジェクトに変換します。変換されたデータは、data変数に格納されます。

格納後、dataの中身をループ処理して、各投稿のタイトルと本文を表示します。dataはリスト形式であり、各要素は辞書オブジェクトです。ループを通じて各辞書オブジェクトを取得し、item[“title”]とitem[“body”]を使ってタイトルと本文を表示します。

■検証・実行

今回書いたスクリプトを「p_url.py」という名前でPythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、purlとrequestsを用いてフェイクAPIからのレスポンスを取得しタイトルと本文を表示させることができました。

コメント

タイトルとURLをコピーしました