Python Requestsライブラリのインストールと基本的な使い方

PythonにはHTTP通信を行うための標準ライブラリであるurllibのほか、より使いやすいサードパーティ製ライブラリとしてrequestsが広く利用されています。requestsは「HTTP for Humans(人間のためのHTTP)」をコンセプトに開発されており、直感的で簡潔なインターフェースを提供します。

インストール方法

requestsはpipを使って簡単にインストールできます:

python -m pip install requests

主なHTTPメソッドの使い方

GETリクエスト

requests.get()はサーバーからデータを取得する際に使用します。以下のように呼び出せます:

import requests

url = "https://httpbin.org/get"
params = {"keyword": "Python", "lang": "ja"}
response = requests.get(url, params=params, timeout=10)
print(response.text)

POSTリクエスト

データをサーバーに送信する場合はrequests.post()を使います:

import requests

url = "https://httpbin.org/post"
payload = {"username": "testuser", "password": "secret123"}
response = requests.post(url, data=payload)
print(response.status_code)

レスポンスオブジェクトの主な属性

属性 説明
status_codeHTTPステータスコード(例: 200, 404)
headersレスポンスヘッダー情報
textレスポンス本文を文字列として取得
contentレスポンス本文をバイト列として取得(画像やバイナリデータ用)
encoding文字エンコーディングの指定・取得
cookiesサーバーから受け取ったCookie情報
url実際にアクセスされたURL(リダイレクト後のURLなど)

使用例:

import requests

res = requests.get("https://example.com")
print("ステータス:", res.status_code)
print("エンコーディング:", res.encoding)
print("URL:", res.url)
print("ヘッダー:", res.headers)

実用例:画像のダウンロード

以下は、Web上の画像をダウンロードしてローカルに保存する例です:

import requests

img_url = "https://example.com/sample.jpg"
headers = {"User-Agent": "Mozilla/5.0"}

response = requests.get(img_url, headers=headers)
if response.status_code == 200:
    with open("downloaded_image.jpg", "wb") as f:
        f.write(response.content)

このように、requestsライブラリを使うことで、HTTP通信を非常にシンプルかつ柔軟に行うことができます。

タグ: Python requests HTTP

7月5日 19:16 投稿