Requests:PythonでのHTTPリクエストを簡単にするライブラリ

Requestsは、PythonでHTTPリクエストを簡単に行うためのライブラリです。HTTPプロトコルを介してウェブサービスと通信し、データの送受信を行うために広く使用されており、そのシンプルさと使いやすさが特徴です。Requestsの基本的な使い方と具体的な例を紹介します。

Requestsの基本機能

HTTPメソッドのサポート

GET、POST、PUT、DELETEなど、標準的なHTTPメソッドをサポートしています。

クエリパラメータの送信

URLパラメータを簡単に追加できます。

ヘッダーの設定

HTTPヘッダーを設定してリクエストを送信できます。

JSONデータの送信

JSON形式のデータを簡単に送信および受信できます。

セッションの管理

セッションオブジェクトを使用して、複数のリクエストに共通の設定を適用できます。

    Requestsのインストール

    まず、Requestsをインストールします。

    pip install requests

    例題1: 基本的なGETリクエスト

    基本的なGETリクエストを使用して、ウェブページの内容を取得する方法を示します。

    import requests
    
    # URL
    url = 'https://www.example.com'
    
    # GETリクエストを送信
    response = requests.get(url)
    
    # ステータスコードを表示
    print(f'Status code: {response.status_code}')
    
    # レスポンスの内容を表示
    print(response.text)

    このコードでは、指定したURLに対してGETリクエストを送信し、ステータスコードとレスポンスの内容を表示しています。

    例題2: クエリパラメータの送信

    クエリパラメータを追加してGETリクエストを送信する方法を示します。

    import requests
    
    # URL
    url = 'https://api.example.com/data'
    
    # クエリパラメータ
    params = {
        'key1': 'value1',
        'key2': 'value2'
    }
    
    # GETリクエストを送信
    response = requests.get(url, params=params)
    
    # ステータスコードを表示
    print(f'Status code: {response.status_code}')
    
    # レスポンスの内容を表示
    print(response.json())

    このコードでは、クエリパラメータを追加してGETリクエストを送信し、レスポンスをJSON形式で表示しています。

    例題3: POSTリクエストでデータを送信

    POSTリクエストを使用して、データをサーバーに送信する方法を示します。

    import requests
    
    # URL
    url = 'https://api.example.com/submit'
    
    # 送信するデータ
    data = {
        'name': 'John Doe',
        'email': 'john.doe@example.com'
    }
    
    # POSTリクエストを送信
    response = requests.post(url, data=data)
    
    # ステータスコードを表示
    print(f'Status code: {response.status_code}')
    
    # レスポンスの内容を表示
    print(response.json())

    このコードでは、フォームデータをPOSTリクエストで送信し、レスポンスをJSON形式で表示しています。

    例題4: ヘッダーの設定とJSONデータの送信

    カスタムヘッダーを設定し、JSONデータをPOSTリクエストで送信する方法を示します。

    import requests
    
    # URL
    url = 'https://api.example.com/submit'
    
    # カスタムヘッダー
    headers = {
        'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
        'Content-Type': 'application/json'
    }
    
    # 送信するJSONデータ
    json_data = {
        'name': 'John Doe',
        'email': 'john.doe@example.com'
    }
    
    # POSTリクエストを送信
    response = requests.post(url, headers=headers, json=json_data)
    
    # ステータスコードを表示
    print(f'Status code: {response.status_code}')
    
    # レスポンスの内容を表示
    print(response.json())

    このコードでは、カスタムヘッダーを設定し、JSON形式のデータをPOSTリクエストで送信しています。

    例題5: セッションの管理

    セッションを使用して、複数のリクエストに共通の設定を適用する方法を示します。

    import requests
    
    # セッションオブジェクトを作成
    session = requests.Session()
    
    # セッションに共通のヘッダーを設定
    session.headers.update({
        'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
    })
    
    # 複数のリクエストを送信
    response1 = session.get('https://api.example.com/data1')
    response2 = session.get('https://api.example.com/data2')
    
    # ステータスコードとレスポンスの内容を表示
    print(f'Response 1 status code: {response1.status_code}')
    print(response1.json())
    
    print(f'Response 2 status code: {response2.status_code}')
    print(response2.json())

    このコードでは、セッションオブジェクトを使用して共通のヘッダーを設定し、複数のリクエストに対してその設定を適用しています。

    結論

    Requestsは、PythonでHTTPリクエストを簡単に行うための非常に便利なライブラリです。Requestsを使用することで、ウェブサービスとの通信が非常にシンプルかつ直感的になり、データ取得や送信が効率的に行えます。基本的なGETリクエストから、POSTリクエストでのデータ送信、セッションの管理まで、Requestsの理解と適用は、APIとの連携やデータ収集において非常に有用です。

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