Pythonのrequestsライブラリ完全入門!HTTPリクエストの送り方を初心者向けにやさしく解説
生徒
「Pythonでインターネットからデータを取得する方法ってあるんですか?」
先生
「ありますよ。Pythonではrequestsライブラリを使うことで、簡単にHTTPリクエストを送ることができます。」
生徒
「HTTPリクエストって何ですか?」
先生
「簡単に言うと、Webサイトに『データをください』とお願いする仕組みのことです。実際にコードを見ながら覚えていきましょう。」
1. requestsライブラリとは?
Pythonのrequestsライブラリは、Webサイトと通信するための便利なツールです。インターネット上の情報を取得するために使われ、HTTP通信をとても簡単に扱えるようにしてくれます。
HTTPとは、ブラウザでWebページを見るときに使われている通信ルールです。例えば、Google検索をしたときも、実は裏側でHTTPリクエストが送られています。
requestsを使うことで、プログラムから自動でWebページのデータを取得したり、APIと呼ばれるサービスにアクセスしたりできます。
2. requestsライブラリのインストール方法
まずはrequestsを使う準備をします。Pythonではライブラリをインストールしてから使います。
pip install requests
このコマンドを実行すると、requestsが使えるようになります。pipとはPythonのパッケージ管理ツールで、必要な機能を簡単に追加できます。
3. GETリクエストでWebページを取得する
GETリクエストは、Webサイトからデータを取得するときに使います。最も基本的な使い方です。
import requests
response = requests.get("https://example.com")
print(response.status_code)
print(response.text)
status_codeは通信の結果を表す番号で、200なら成功です。textは取得したWebページの内容です。
200
<html>...</html>
4. POSTリクエストでデータを送信する
POSTリクエストは、データをサーバーに送るときに使います。ログインやフォーム送信のイメージです。
import requests
data = {"name": "Taro", "age": 20}
response = requests.post("https://example.com/api", data=data)
print(response.status_code)
辞書型でデータを作り、それを送信します。辞書とは「キーと値のセット」で情報をまとめる仕組みです。
5. JSONデータの扱い方
Web APIではJSON形式というデータがよく使われます。JSONはデータをわかりやすく整理した形式です。
import requests
response = requests.get("https://api.github.com")
data = response.json()
print(data)
json()を使うと、文字列をPythonの辞書として扱えます。これにより、データの取り出しが簡単になります。
6. ヘッダーを設定してリクエストを送る
HTTPリクエストにはヘッダーという追加情報を付けることができます。ブラウザの情報などを伝える役割があります。
import requests
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get("https://example.com", headers=headers)
print(response.status_code)
User-Agentとは、どのような環境からアクセスしているかを示す情報です。
7. エラー処理と注意点
ネットワーク通信ではエラーが起こることがあります。例えば、インターネット接続がない場合や、URLが間違っている場合です。
import requests
try:
response = requests.get("https://example.com")
response.raise_for_status()
print(response.text)
except requests.exceptions.RequestException as e:
print("エラーが発生しました:", e)
tryとexceptを使うことで、エラーが発生してもプログラムが止まらず、安全に処理できます。
8. requestsを使うメリット
requestsライブラリを使うことで、難しいネットワーク処理をシンプルに書けます。初心者でも直感的に理解しやすく、少ないコードでHTTP通信が実現できます。
また、GETやPOSTだけでなく、PUTやDELETEなどのHTTPメソッドにも対応しており、Webアプリ開発やAPI連携に欠かせない存在です。
Pythonでネットワークプログラミングを始めるなら、まず最初に覚えておきたい基本ライブラリです。
まとめ
requestsライブラリの重要ポイント総復習
Pythonのrequestsライブラリは、HTTPリクエストを簡単に扱うための非常に便利なツールです。インターネット上のWebページ取得、API通信、データ送受信など、現代のプログラミングにおいて欠かせない機能をシンプルなコードで実現できます。
本記事では、GETリクエストによるWebページ取得、POSTリクエストによるデータ送信、JSONデータの扱い方、HTTPヘッダーの設定、そしてエラー処理まで、実務でも使える基礎知識を体系的に学びました。
HTTP通信とPython requestsの基本理解
HTTP通信は、Webブラウザとサーバー間で情報をやり取りするためのルールです。Pythonのrequestsライブラリを使うことで、この通信処理を簡潔に記述できます。
特に重要なのは、GETとPOSTの違いを理解することです。GETはデータ取得、POSTはデータ送信という役割があり、用途に応じて使い分ける必要があります。また、ステータスコードを確認することで通信結果を正確に把握できる点も重要です。
実務で役立つrequests活用テクニック
実際の開発では、API連携やWebスクレイピングなどでrequestsが活躍します。JSONデータを扱うことで、外部サービスと柔軟に連携できるようになります。
また、HTTPヘッダーの設定により、アクセス元の情報を調整できるため、より実践的なWeb通信が可能になります。エラー処理を適切に実装することで、安定したプログラムを構築できる点も見逃せません。
サンプル:実践的なrequestsコード例
import requests
def fetch_api_data(url):
try:
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, headers=headers)
response.raise_for_status()
data = response.json()
return data
except requests.exceptions.RequestException as e:
print("通信エラー:", e)
return None
api_url = "https://api.github.com"
result = fetch_api_data(api_url)
if result:
print("データ取得成功")
このように関数化することで、再利用性の高いコードを書くことができ、実務レベルのプログラミングにも対応できます。Pythonとrequestsを組み合わせることで、効率的なWebデータ処理が可能になります。
初心者から中級者へステップアップするために
requestsライブラリを理解することは、PythonによるWeb開発やデータ収集の第一歩です。基本をしっかり押さえることで、API活用、データ分析、自動化ツール開発など、幅広い分野に応用できます。
今後は、認証付きAPIの利用、セッション管理、非同期処理なども学ぶことで、さらに高度なプログラミングスキルを身につけることができます。
生徒
「requestsライブラリって、思っていたより簡単に使えるんですね。」
先生
「そうですね。Pythonの中でも特に直感的に書けるライブラリなので、初心者にもおすすめです。」
生徒
「GETとPOSTの違いも理解できました。データを取るか送るかで使い分けるんですね。」
先生
「その通りです。さらにJSONを扱えるようになると、APIとの連携がぐっと楽になりますよ。」
生徒
「エラー処理も大事だとわかりました。実際の開発では必須ですね。」
先生
「はい。安定したプログラムを書くためには欠かせません。requestsを使いこなせば、Webの世界が一気に広がりますよ。」
生徒
「これからはAPIやデータ取得のプログラムにも挑戦してみます!」
先生
「ぜひ挑戦してください。今回の内容がしっかり理解できていれば、次のステップにもスムーズに進めます。」