PythonでRequestsの使い方

Python

今回はpythonのライブラリ「requests」の使い方を紹介します。

Requestsのインストール

pip install requests

使い方

import requests

リクエスト

# GET
requests.get(‘URL’)
# POST
requests.post(‘URL’)
# PUT
requests.put(‘URL’)
# DELETE
requests.delete(‘URL’)
# header の取得
requests.head(‘URL’)

GETパラメータの指定

payload = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
rs = requests.get(‘URL’, params=payload)

POSTデータの指定

payload = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
rs = requests.post(“URL”, data=payload)

ヘッダーの指定

headers = {‘User-Agent’: ‘Sample Header’}
rs = requests.get(‘URL’, headers=headers)

Cookieの設定

# 以下URLがCookieを返却する場合には
rs = requests.get(‘URL’)

# 以下のようにCookieを取得できます.
print(rs.cookies[‘key’])

# Cookieを付与してHTTP通信を行う
cookies = dict(name=’value’)
rs = requests.get(‘URL’, cookies=cookies)

# CookieJarを用いて、より詳細にCookieを指定することもできます.
jar = requests.cookies.RequestsCookieJar()
jar.set(‘key’, ‘value’, domain=’domain’, path=’path’)
rs = requests.get(‘URL’, cookies=jar)

タイムアウトの指定

requests.get(‘URL’, timeout=0.001)

リダイレクト

デフォルトの振る舞いでは、リダイレクトが発生するURLでは自動的にリダイレクト先の情報を取得します。
# 「http://」にアクセスすると「https://」にリダイレクトされる
rs = requests.get(‘http://github.com’)

# 自動的にリダイレクト先に切り替わっている.
print(rs.url) # ‘https://github.com/’

セッションの利用

Sessionを用いることで、一連のHTTPリクエスト/レスポンスで、Cookieやカスタムヘッダーなどを使い回すことができます。
session = requests.Session()
session.get(‘URL’)

レスポンスの中身

text

返ってきたレスポンスボディをテキスト形式で取得. リクエストは自動的に unicode にデコードされている.

rs = requests.get(‘http://github.com’)
rs.text

encoding

rs = requests.get(‘http://github.com’)
rs.encoding

content

レスポンスボディをバイナリ形式で取得.

rs = requests.get(‘http://github.com’)
rs.content

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