コンテンツにスキップ

Python/requests

出典: フリー教科書『ウィキブックス(Wikibooks)』

requestsモジュール

[編集]

requestsは、Pythonのサードパーティライブラリであり、HTTPリクエストを簡単に送信するための機能を提供します。

HTTPリクエストの送信

[編集]

requestsを使用すると、HTTPリクエストを簡単に送信することができます。以下は、GETリクエストの送信例です。

GETリクエスト

[編集]
import requests

# GETリクエストの送信
response = requests.get('https://api.example.com/data')
print(response.text)

リクエストパラメータの設定

[編集]

requestsを使用すると、URLのクエリ文字列パラメータやリクエストヘッダを設定することができます。

クエリ文字列パラメータの指定

[編集]
import requests

# クエリ文字列パラメータの指定
params = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('https://api.example.com/data', params=params)
print(response.text)

レスポンスの処理

[編集]

requestsを使用すると、HTTPレスポンスを受け取り、その内容やステータスコードなどの情報を取得することができます。

レスポンスのテキストデータの取得

[編集]
import requests

# レスポンスのテキストデータの取得
response = requests.get('https://api.example.com/data')
text_data = response.text
print(text_data)

JSON形式のレスポンスの処理

[編集]
import requests

# JSON形式のレスポンスの処理
response = requests.get('https://api.example.com/data')
json_data = response.json()
print(json_data)

セッションの管理

[編集]

requestsはセッションオブジェクトを提供しており、同一のウェブサイトへの複数のリクエストを効率的に処理することができます。

セッションの使用

[編集]
import requests

# セッションの作成
session = requests.Session()

# セッションを使用したリクエスト
response1 = session.get('https://api.example.com/data1')
response2 = session.get('https://api.example.com/data2')

print(response1.text)
print(response2.text)

認証機能

[編集]

requestsは、基本認証やダイジェスト認証、OAuthなどのさまざまな認証メカニズムをサポートしています。

基本認証の使用

[編集]
import requests

# 基本認証の設定
auth = requests.auth.HTTPBasicAuth('username', 'password')

# 認証を使用したリクエスト
response = requests.get('https://api.example.com/data', auth=auth)
print(response.text)