PythonはWebスクレイピングやAPIの利用などに幅広く使われています。その中でもrequestsライブラリは、HTTPリクエストを簡単に行うことができるため、人気があります。この記事では、requestsライブラリを使ったgetリクエストとpostリクエストの基本的な使い方から、応用までを解説します。
Pythonのrequestsライブラリとは
requestsライブラリは、PythonでHTTPリクエストを行うためのライブラリです。Python標準のurllibライブラリよりも簡単に使えるため、人気があります。
getリクエストの基本的な使い方
getリクエストは、Webサーバーからデータを取得する際に使用されるリクエストです。requestsライブラリを使って、getリクエストを行う場合は以下のように書きます。
import requests response = requests.get('http://example.com') print(response.text)
上記のコードでは、requests.get()メソッドを使って、http://example.comに対してgetリクエストを送信しています。レスポンスの内容はresponse.textで取得することができます。
getリクエストの応用(パラメータの送信、ヘッダーの設定)
getリクエストでは、パラメータをURLに含めて送信することができます。また、ヘッダーを設定することもできます。以下のコードは、パラメータとヘッダーを設定してgetリクエストを送信する例です。
import requests url = 'http://example.com' params = {'key1': 'value1', 'key2': 'value2'} headers = {'User-Agent': 'Mozilla/5.0'} response = requests.get(url, params=params, headers=headers) print(response.text)
上記のコードでは、getリクエストのURLにパラメータを含めることができます。paramsに辞書型でパラメータを設定し、requests.get()メソッドの引数にparams=paramsを指定します。また、ヘッダーを設定する場合は、headersに辞書型でヘッダーを設定し、requests.get()メソッドの引数にheaders=headersを指定します。
postリクエストの基本的な使い方
postリクエストは、Webサーバーにデータを送信する際に使用されるリクエストです。requestsライブラリを使って、postリクエストを行う場合は以下のように書きます。
import requests url = 'http://example.com' data = {'key1': 'value1', 'key2': 'value2'} headers = {'User-Agent': 'Mozilla/5.0'} response = requests.post(url, data=data, headers=headers) print(response.text)
上記のコードでは、postリクエストのURLにデータを含めることができます。dataに辞書型でデータを設定し、requests.post()メソッドの引数にdata=dataを指定します。また、ヘッダーを設定する場合は、getリクエストと同様にheadersに辞書型でヘッダーを設定し、requests.post()メソッドの引数にheaders=headersを指定します。
postリクエストの応用(データの送信、ヘッダーの設定)
postリクエストでは、getリクエストと同様にデータを送信することができます。また、ヘッダーを設定することもできます。以下のコードは、データとヘッダーを設定してpostリクエストを送信する例です。
import requests url = 'http://example.com' data = {'key1': 'value1', 'key2': 'value2'} headers = {'User-Agent': 'Mozilla/5.0'} response = requests.post(url, json=data, headers=headers) print(response.text)
上記のコードでは、postリクエストのデータをJSON形式で送信することができます。jsonに辞書型でデータを設定し、requests.post()メソッドの引数にjson=dataを指定します。また、ヘッダーを設定する場合は、getリクエストと同様にheadersに辞書型でヘッダーを設定し、requests.post()メソッドの引数にheaders=headersを指定します。
getリクエストとpostリクエストの使い分け
getリクエストとpostリクエストは、それぞれの目的に合わせて使い分ける必要があります。getリクエストは、データを取得する場合に使用し、postリクエストは、データを送信する場合に使用します。
まとめ
この記事では、Pythonのrequestsライブラリを使ったgetリクエストとpostリクエストの基本的な使い方から、応用までを解説しました。requestsライブラリは、HTTPリクエストを簡単に行うことができるため、WebスクレイピングやAPIの利用などに幅広く使われています。