今回はpythonのライブラリ「requests」の使い方を紹介します。
Requestsのインストール
pip install requests
使い方
import requests
リクエスト
# GET
requests.get(‘URL’)
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)
rs = requests.get(‘URL’, params=payload)
POSTデータの指定
payload = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
rs = requests.post(“URL”, data=payload)
rs = requests.post(“URL”, data=payload)
ヘッダーの指定
headers = {‘User-Agent’: ‘Sample Header’}
rs = requests.get(‘URL’, headers=headers)
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’)
session.get(‘URL’)
レスポンスの中身
text
返ってきたレスポンスボディをテキスト形式で取得. リクエストは自動的に unicode にデコードされている.
rs = requests.get(‘http://github.com’)
rs.text
rs.text
encoding
rs = requests.get(‘http://github.com’)
rs.encoding
rs.encoding
content
レスポンスボディをバイナリ形式で取得.
rs = requests.get(‘http://github.com’)
rs.content