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からのレスポンスを取得しタイトルと本文を表示させることができました。
コメント