最終更新
リンドくん
先生、Pythonで外部のAPIからデータを取得したいんですけど、何か良い方法はありますか?
たなべ
それならrequestsライブラリが最適だよ!
Pythonで最も人気のあるHTTP通信ライブラリで、シンプルで直感的に使えるんだ。初心者でも簡単に習得できるから安心して。
現代のプログラミングにおいて、外部のWebサービスやAPIとの通信は欠かせない技術です。
天気予報の取得、SNSへの投稿、データベースとの連携など、様々な場面でHTTP通信が必要になります。
Pythonには標準ライブラリとしてurllib
がありますが、実際の開発現場ではrequestsライブラリがほぼ標準として使われています。
その理由は、シンプルで直感的なAPIと豊富な機能にあります。
この記事では、Pythonを学び始めたばかりの方でも理解できるよう、requestsライブラリの基本から実践的な使い方まで、ステップバイステップで解説していきます。
HackATAは、エンジニアを目指す方のためのプログラミング学習コーチングサービスです。 経験豊富な現役エンジニアがあなたの学習をサポートします。
✓ 質問し放題
✓ β版公開中(2025年内の特別割引)
リンドくん
そもそもHTTP通信って何ですか?難しそうな感じがするんですが...
たなべ
HTTP通信は、インターネット上でデータをやり取りするためのルールなんだ。
例えば、君がブラウザでWebサイトを見るときも、実はHTTP通信が使われているんだよ。
requestsライブラリは、PythonでHTTP通信を行うためのサードパーティライブラリです。
標準ライブラリのurllib
よりもはるかに使いやすく、以下のような特徴があります。
HTTP通信を理解するために、まず基本的な概念を押さえておきましょう。
HTTPメソッドは、サーバーに対してどのような操作を行いたいかを示すものです。主なメソッドには以下があります。
これらのメソッドを使い分けることで、様々な操作を実現できます。
実際のコード例を見れば、requestsライブラリの使いやすさが一目瞭然です。
このように、requestsライブラリを使うことでより少ないコードで同じ機能を実現できます。
また、エラーハンドリングやレスポンス処理も直感的に行えるため、開発効率が大幅に向上します。
リンドくん
requestsライブラリを使ってみたいです!どうやってインストールするんですか?
たなべ
とても簡単だよ!pipコマンドを使って一発でインストールできるんだ。
まずはインストールから始めて、基本的な使い方を見ていこう。
requestsライブラリのインストールは非常に簡単です。
ターミナル(コマンドプロンプト)で以下のコマンドを実行するだけです。
Python環境によっては、以下のコマンドを使用する場合もあります。
インストールが完了したら、Pythonスクリプト内で以下のようにインポートできます。
まずは最も基本的なGETリクエストから始めましょう。以下は、JSONPlaceholderという無料のテスト用APIからデータを取得する例です。
このコードを実行すると、以下のような出力が得られます。
requestsライブラリでリクエストを送信すると、Responseオブジェクトが返されます。
このオブジェクトには、レスポンスに関する様々な情報が含まれています。
このように、Responseオブジェクトには豊富な情報が含まれており、リクエストの結果を詳細に把握できます。
リンドくん
GETは分かりました!でもPOSTリクエストってどう使うんですか?データを送信するときに使うんですよね?
たなべ
その通り!POSTはデータをサーバーに送信するときに使うんだ。
フォームの送信やAPIへのデータ投稿など、実際の開発でよく使う機能だよ。具体例を見てみよう。
まず、URLパラメータを含むGETリクエストの方法を見てみましょう。
この例では、特定のユーザーの未完了タスクを取得しています。params
パラメータを使用することで、URLクエリパラメータを簡潔に指定できます。
次に、POSTリクエストでデータを送信する方法を見てみましょう。
Webフォームのようなデータを送信する場合は、以下のようにdata
パラメータを使用します。
API通信では、認証情報やコンテンツタイプなどの情報をヘッダーで送信することがよくあります。
このように、requestsライブラリを使用することで、様々なタイプのHTTPリクエストを簡単に実装できます。
リンドくん
ネットワークエラーとかで通信が失敗したらどうなるんですか?プログラムが止まっちゃうんでしょうか?
たなべ
いい視点だね!実際の開発ではエラーハンドリングが超重要なんだ。
通信エラーやサーバーエラーに適切に対処することで、安定したアプリケーションが作れるよ。
requestsライブラリでは、様々な種類の例外が発生する可能性があります。適切にハンドリングすることで、ユーザーにとって使いやすいアプリケーションを作ることができます。
HTTPステータスコードを確認して、適切な処理を行うことも重要です。
ネットワークの一時的な問題に対応するため、リトライ機能を実装することも有効です。
このように、エラーハンドリングを適切に行うことで、予期しない問題が発生した場合でも、ユーザーに分かりやすいメッセージを提供し、アプリケーションの信頼性を高めることができます。
リンドくん
requestsライブラリってすごく便利ですね!これでいろんなAPIと連携できそうです。
たなべ
その通り!requestsライブラリをマスターすることで、外部サービスとの連携が格段に楽になるんだ。
これからのAI時代には、様々なAPIを活用する能力がとても重要になってくるからね。
この記事では、PythonのrequestsライブラリによるHTTP通信について、基本から実践的な応用まで幅広く解説してきました。
重要なポイントをおさらいしましょう。
現代のソフトウェア開発において、外部APIとの連携は必須のスキルです。
特にAI時代では、様々なAIサービスのAPIを組み合わせて価値のあるアプリケーションを構築する能力が求められています。
requestsライブラリをマスターすることで、天気予報サービス、SNS API、決済システム、機械学習APIなど、様々な外部サービスと連携したアプリケーションを開発できるようになります。