[Python]requestsでgetリクエストの方法を解説(body、json)

Pythonのrequestsモジュールについて

Pythonのrequestsモジュールは、HTTP通信を簡単に行えるように設計されたライブラリです。requestsモジュールを使うことで、HTTPリクエストを送信し、レスポンスを受け取ることができます。

GETリクエストとは

GETリクエストは、Webサーバーに対してデータを取得するためのリクエストです。GETリクエストは、URLにパラメータを付与することでデータを受け取ります。

PythonでGETリクエストを送る方法

requestsモジュールのget関数を使用して、PythonでGETリクエストを送信することができます。

import requests
response = requests.get('https://example.com')
print(response.text)

このコードでは、requests.get()関数を使用して、example.comからのレスポンスを取得しています。レスポンスの内容は、response.textで取得できます。

GETリクエストのbodyを取得する方法

GETリクエストでは、リクエストのボディにデータを含めることはできません。そのため、GETリクエストの場合は、リクエストのパラメータをURLに含めることでデータを渡します。

例えば、以下のようにリクエストを送信することができます。

import requests
url = 'https://example.com'
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.get(url, params=payload)
print(response.text)

この場合、URLはhttps://example.com?key1=value1&key2=value2となります。リクエストのパラメータは、params引数に辞書形式で指定します。

GETリクエストのjsonを取得する方法

WebサーバーからJSON形式でデータを取得する場合は、response.json()メソッドを使用して、JSON形式のデータをPythonオブジェクトに変換することができます。

import requests
url = 'https://example.com/api/data'
response = requests.get(url)
data = response.json()
print(data)

このコードでは、WebサーバーからJSON形式のデータを取得し、response.json()メソッドを使用して、Pythonオブジェクトに変換しています。変換したデータは、dataに格納されます。

エラーハンドリングについて

Webサーバーからエラーレスポンスを受け取った場合は、requests.exceptions.HTTPError例外が発生します。

import requests
url = 'https://example.com/api/data'
response = requests.get(url)
try:
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print('エラーが発生しました:', e)

このコードでは、Webサーバーからエラーレスポンスを受け取った場合に、requests.exceptions.HTTPError例外が発生するようにしています。例外が発生した場合は、例外の内容を表示します。

まとめ

Pythonのrequestsモジュールを使用することで、簡単にGETリクエストを送信し、レスポンスを受け取ることができます。GETリクエストの場合は、リクエストのパラメータをURLに含めることでデータを渡し、JSON形式のデータを受け取る場合は、response.json()メソッドを使用して、Pythonオブジェクトに変換することができます。また、エラーハンドリングにも注意しましょう。