カテゴリ: Python 更新日: 2026/08/05

Pythonのrequestsライブラリ完全入門!HTTPリクエストの送り方を初心者向けにやさしく解説

Pythonのrequestsライブラリの基本!HTTPリクエストを送る方法
Pythonのrequestsライブラリの基本!HTTPリクエストを送る方法

先生と生徒の会話形式で理解しよう

生徒

「Pythonでインターネットからデータを取得する方法ってあるんですか?」

先生

「ありますよ。Pythonではrequestsライブラリを使うことで、簡単にHTTPリクエストを送ることができます。」

生徒

「HTTPリクエストって何ですか?」

先生

「簡単に言うと、Webサイトに『データをください』とお願いする仕組みのことです。実際にコードを見ながら覚えていきましょう。」

1. requestsライブラリとは?

1. requestsライブラリとは?
1. requestsライブラリとは?

Pythonのrequestsライブラリは、Webサイトと通信するための便利なツールです。インターネット上の情報を取得するために使われ、HTTP通信をとても簡単に扱えるようにしてくれます。

HTTPとは、ブラウザでWebページを見るときに使われている通信ルールです。例えば、Google検索をしたときも、実は裏側でHTTPリクエストが送られています。

requestsを使うことで、プログラムから自動でWebページのデータを取得したり、APIと呼ばれるサービスにアクセスしたりできます。

2. requestsライブラリのインストール方法

2. requestsライブラリのインストール方法
2. requestsライブラリのインストール方法

まずはrequestsを使う準備をします。Pythonではライブラリをインストールしてから使います。


pip install requests

このコマンドを実行すると、requestsが使えるようになります。pipとはPythonのパッケージ管理ツールで、必要な機能を簡単に追加できます。

3. GETリクエストでWebページを取得する

3. GETリクエストでWebページを取得する
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リクエストでデータを送信する

4. POSTリクエストでデータを送信する
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データの扱い方

5. JSONデータの扱い方
5. JSONデータの扱い方

Web APIではJSON形式というデータがよく使われます。JSONはデータをわかりやすく整理した形式です。


import requests

response = requests.get("https://api.github.com")

data = response.json()

print(data)

json()を使うと、文字列をPythonの辞書として扱えます。これにより、データの取り出しが簡単になります。

6. ヘッダーを設定してリクエストを送る

6. ヘッダーを設定してリクエストを送る
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. エラー処理と注意点

7. エラー処理と注意点
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を使うメリット

8. requestsを使うメリット
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やデータ取得のプログラムにも挑戦してみます!」

先生

「ぜひ挑戦してください。今回の内容がしっかり理解できていれば、次のステップにもスムーズに進めます。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

Python のネットワークプログラミングの記事一覧へ
新着記事
New1
Python
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
New2
PHP
PHP の型変換を完全ガイド!初心者でもわかる明示的変換・自動変換
New3
PHP
PHPのCSVファイルの読み書きと文字列処理を基礎から解説!初心者向けガイド
New4
PHP
PHPのメモリ管理と変数の破棄方法をやさしく解説!初心者でもわかるunsetの使い方
人気記事
No.1
Java&Spring記事人気No1
Python
PythonでAPIリクエストを送信する方法を完全解説!requestsライブラリで簡単API通信
No.2
Java&Spring記事人気No2
Python
Pythonで経過時間を計測する方法を完全解説!初心者でもわかる time.perf_counter() と time.sleep()
No.3
Java&Spring記事人気No3
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.4
Java&Spring記事人気No4
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.5
Java&Spring記事人気No5
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.6
Java&Spring記事人気No6
Python
Pythonのタプルの要素を変更できない理由とその回避策を初心者向けに解説
No.7
Java&Spring記事人気No7
ChatGPT
ChatGPTでPythonコードを作成する方法!プロンプトの書き方と質問例を解説
No.8
Java&Spring記事人気No8
Python
Pythonのrequestsライブラリ完全入門!HTTPリクエストの送り方を初心者向けにやさしく解説