今回の講座の導入文
みんな、今日は「Requests」っていうライブラリについて学んでいくで!このRequestsライブラリは、ウェブサイトと簡単にやりとりできるようにしてくれるんや。例えば、君が友達に「今、何してる?」ってメッセージを送るとするやん?そのメッセージを送るのが「GETリクエスト」や。友達からの返事が「ゲームしてるで!」っていうのが、ウェブサイトからの応答やねん。
このRequestsライブラリを使ったら、ウェブからデータを取ったり、送ったりするのがめっちゃ簡単になるねん。まるで、自動で手紙を出したり、受け取ったりする郵便屋さんみたいなもんや。これを使いこなせるようになったら、データの収集やAPIとの連携がスムーズにできるようになるで!さあ、さっそく始めてみようか!
① Requestsライブラリの概要
Requestsライブラリは、PythonでHTTPリクエストを簡単に扱えるようにするための便利なツールやで。これを使うことで、ウェブサイトとやり取りするのが楽チンになるんや。具体的には、次のようなことができるんやで。
簡単なインターフェース
Requestsライブラリは、初心者でも使いやすいように設計されてるから、難しいこと考えんでもええねん。シンプルなコードで、複雑な操作ができるのが魅力や。
HTTPメソッドのサポート
GETリクエストやPOSTリクエスト、PUTリクエスト、DELETEリクエストなど、さまざまなHTTPメソッドに対応してるから、色んな操作ができるで。これを使えば、データの取得や送信が簡単にできるんや。
レスポンスの扱いやすさ
Requestsライブラリは、サーバーから返ってくるレスポンスを分かりやすくしてくれはるから、必要な情報をすぐに取り出せるんや。たとえば、ウェブページの内容やステータスコードを簡単に取得できるで。
SSL/TLSサポート
安全な通信をするためのSSL/TLSもサポートしてるから、安心してウェブサイトとやり取りができるんや。
このRequestsライブラリを使いこなせるようになったら、データ収集やAPIの利用がぐっと楽になるで!これから実際に使い方を見ていこうか!
② GETリクエストの送信と応答の取得
さて、次はGETリクエストの送信方法について見ていこう!GETリクエストは、ウェブサイトからデータを取得するために使われる基本的な方法や。具体的には、どんな風に使うかを見ていくで!
GETリクエストの送信
まずは、Requestsライブラリを使ってGETリクエストを送信する基本的なコードを見てみよう。
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
このコードでは、requests.get()
を使って指定したURLにGETリクエストを送信してるんや。ここで、response
という変数には、サーバーからの応答が格納されるで。
応答の取得
次に、リクエストを送った後の応答をどうやって取得するかを見てみよう。応答には、さまざまな情報が含まれてるんや。
# ステータスコードの取得
print(response.status_code)
# レスポンスの内容を取得
print(response.text)
ここでは、response.status_code
でHTTPステータスコードを取得してる。これによって、リクエストが成功したかどうかを確認できるで。たとえば、200が返ってきたら「成功!」ってことや。
さらに、response.text
を使うことで、サーバーから返ってきたデータの内容を取得できるんや。これを使って、実際にどんなデータが返ってきたかを確認してみよう。
まとめ
GETリクエストを使うことで、ウェブサイトから情報を簡単に取得できることがわかったかな?次は、POSTリクエストを使ってデータを送信する方法を見ていこう!楽しみにしといてな!
③ POSTリクエストの送信方法
次は、POSTリクエストの送信方法について学んでいくで!POSTリクエストは、データをサーバーに送信するために使われる方法や。たとえば、ウェブフォームに情報を入力して送信するのがPOSTリクエストやねん。さっそく見てみよう!
POSTリクエストの送信
まずは、Requestsライブラリを使ってPOSTリクエストを送る基本的なコードを見てみるで。
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
このコードでは、requests.post()
を使って指定したURLにPOSTリクエストを送信してるんや。data
という辞書には、送信したいデータを格納してるで。ここでは、title
、body
、userId
の3つの情報を送信してるんや。
応答の取得
POSTリクエストを送信したら、サーバーからの応答を取得することもできるで。次のコードを見てみてな。
# ステータスコードの取得
print(response.status_code)
# レスポンスの内容を取得
print(response.json())
ここでは、response.status_code
でHTTPステータスコードを取得してる。POSTリクエストも、成功したら200や201が返ってくるで。201は「リソースが作成された」って意味やから、データがちゃんとサーバーに送信された証拠やね。
さらに、response.json()
を使うことで、サーバーから返ってきたデータをJSON形式で取得できるんや。これを使えば、送信したデータがどのように扱われたかを確認できるで。
まとめ
POSTリクエストを使うことで、サーバーにデータを簡単に送信できることがわかったかな?これで、ウェブフォームに情報を入力して送信する感覚がつかめたんちゃうかな。次は、ヘッダーとパラメータの設定について学んでいこう!楽しみにしといてな!
④ ヘッダーとパラメータの設定
次は、リクエストを送るときに重要な「ヘッダー」と「パラメータ」の設定について学んでいくで!これをうまく使うと、より細かい制御ができるようになるんや。さっそく見ていこう!
ヘッダーの設定
ヘッダーは、リクエストに追加の情報を付加するためのものや。たとえば、ユーザーエージェントや認証情報などが含まれるで。Requestsライブラリでは、ヘッダーを簡単に設定できるんや。
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_token_here'
}
response = requests.get('https://jsonplaceholder.typicode.com/posts', headers=headers)
このコードでは、headers
という辞書を作って、Content-Type
やAuthorization
を設定してる。これをrequests.get()
の引数として渡すことで、リクエストにヘッダーを追加して送信できるで。
パラメータの設定
次は、URLにパラメータを追加する方法や。GETリクエストの場合、URLにクエリパラメータを追加してデータを送信することができるんや。
params = {
'userId': 1
}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
ここでは、URLにuserId
というパラメータを追加して、特定のユーザーの投稿を取得するリクエストを送信してるで。params
を使うことで、リクエストURLにクエリパラメータを簡単に追加できるんや。
まとめ
ヘッダーとパラメータを設定することで、リクエストをより細かく制御できることがわかったかな?これを使えば、APIに特定の情報を要求したり、認証を行ったりするのが簡単になるで。次は、セッションの使用と管理について学んでいこう!楽しみにしといてな!
⑤ セッションの使用と管理
次は、Requestsライブラリの「セッション」を使ったリクエストの管理について学んでいくで!セッションを使うと、同じリクエストを何度も送るときに便利やし、クッキーやヘッダーの設定を一度だけ行うこともできるんや。さっそく見ていこう!
セッションの作成
まずは、セッションを作成するところから始めるで。これにはrequests.Session()
を使うんや。
import requests
session = requests.Session()
このコードでは、session
という変数に新しいセッションを作成してる。これで、以降のリクエストはこのセッションを通じて行うことができるで。
ヘッダーの設定
セッションを使うと、ヘッダーを一度だけ設定しておけば、すべてのリクエストにそのヘッダーが適用されるんや。さっそく見てみよう。
session.headers.update({
'Content-Type': 'application/json',
'Authorization': 'Bearer your_token_here'
})
ここでは、session.headers.update()
を使って、セッションにヘッダーを追加してる。これを行った後は、このセッションを使って送るすべてのリクエストに、設定したヘッダーが自動的に含まれるで。
リクエストの送信
セッションを使ってリクエストを送信するのも簡単や。GETリクエストもPOSTリクエストも、普通のリクエストと同じように行えるで。
response = session.get('https://jsonplaceholder.typicode.com/posts')
print(response.json())
このコードでは、作成したセッションを使ってGETリクエストを送信してる。セッションを使うことで、同じ設定を何度も繰り返す必要がないから、コードがすっきりするで。
セッションの終了
最後に、セッションを使い終わったら、セッションを閉じることを忘れたらあかんで。これにはsession.close()
を使うんや。
session.close()
これを行うことで、リソースを解放することができるで。
まとめ
セッションを使うことで、リクエストの管理が楽になることがわかったかな?特に、同じ設定を使うことが多い場合には、セッションが大活躍するで。これでRequestsライブラリの基本的な使い方はマスターしたんちゃうかな!次は、さらに面白いことに挑戦しよう!楽しみにしといてな!
【HTTPリクエストの達人】Requestsライブラリを使ったGET・POSTリクエストの基本と実践サンプルコード!