3.1 モジュール requests
Pythonでは、ネットでの基本的な作業にrequests
ライブラリが使えるよ。これを使うと、ネットワーク操作を簡単にして、HTTPリクエストを送信したり、最小限の手間でレスポンスを受け取ったりできるんだ。
このライブラリはPythonに元から入ってないから、使う前にパッケージマネージャーでインストールしないといけないよ。
ターミナルを開いて、こうしてみて:
pip install requests
ライブラリをインストールした後は、requests
モジュールを自分のプロジェクトで使えるよ。例えば、こんな感じで外部のIPアドレスを確認できるんだ:
import requests
response = requests.get("http://ip.jsontest.com/")
print(response.status_code) # ステータスコードを表示
print(response.json()) # JSONレスポンスを表示
ここではip.jsontest.com
というサービスにリクエストを送信して、JSON形式のオブジェクトとしてIPアドレスを取得してるよ。リクエストとレスポンスが一行で完結するから凄く便利だよ。他の行ではサーバーからのレスポンスを出力してるだけだよ。
上の例で使ったget()
メソッドについて、次にこのメソッドやrequests
オブジェクトの他のメソッドについて説明するね。
3.2 メソッド一覧
requests
オブジェクトには、あらゆるシチュエーションに対応するメソッドが備わってるんだ。厳密には、各HTTPリクエストタイプに一つずつメソッドがあるんだよ。
メソッド | 説明 |
---|---|
requests.get()
|
サーバーからデータを取得するためにGETリクエスト を送信するよ。 |
requests.post() |
サーバーにデータを送信するためにPOSTリクエスト を送信するよ。 |
requests.put() |
サーバー上のデータを更新するためにPUTリクエスト を送信するよ。 |
requests.delete() |
サーバー上のデータを削除するためにDELETEリクエスト を送信するよ。 |
requests.head() |
レスポンスの本文なしでヘッダーを取得するためにHEADリクエスト を送信するよ。 |
requests.options() |
サーバーが対応しているメソッドやパラメータを確認するためにOPTIONSリクエスト を送信するよ。 |
requests.patch() |
サーバー上のデータを部分的に更新するためにPATCHリクエスト を送信するよ。 |
requests.request() |
すべてのHTTPリクエスト タイプを送信するための主要メソッドだよ。 |
以下では、最も基本的なものについて詳しく見ていくよ。
3.3 GETリクエスト
とPOSTリクエスト
の送信
GETリクエスト
は通常、URLだけで構成されるけど、追加のパラメータ文字列を含むこともあるよ。
1. シンプルなGETリクエスト
の送信
GETリクエスト
はサーバーからデータを取得するために使われるよ。必須のパラメータはリクエストを送るURLなんだ。
例:
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code) # ステータスコードを表示
print(response.json()) # JSONレスポンスを表示
2. パラメータ付きGETリクエスト
の送信
また、URLにはkey=value&key2=value2&…
の形式で追加のパラメータを含めることができるよ。
この場合、パラメータは辞書とparams
という変数を使って渡されるんだ:
import requests
params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())
3. POSTリクエスト
の送信
POSTリクエスト
はリクエストの本文にテキストやJSON、画像などを含めることができるんだ。
例:
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())
3.4 PUTリクエスト
とDELETEリクエスト
の送信
1. PUTリクエスト
の送信
PUTリクエスト
はサーバー上のデータを更新するために使われるんだ。
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())
2. DELETEリクエスト
の送信
DELETEリクエスト
はサーバー上のデータを削除するために使われるよ。
import requests
response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())
GET
、POST
、PUT
、DELETE
リクエストの理解を深めるためには、ネットワークの仕組み、インターネット、ウェブ、HTTP
についてのレクチャーを読むといいよ。これらは近い将来に学ぶことになるから楽しみにしてね。
GO TO FULL VERSION