ホームページ >バックエンド開発 >Python チュートリアル >Python での API の操作: 実践ガイド

Python での API の操作: 実践ガイド

Susan Sarandon
Susan Sarandonオリジナル
2025-01-04 01:09:39693ブラウズ

抜粋:
「API により、ソフトウェア アプリケーションがモジュール化されます。ソフトウェア開発時間を短縮します。

アプリケーション プログラミング インターフェイス (または API) は、さまざまなソフトウェア アプリケーションとコンポーネント間の通信を可能にする抽象化されたレイヤーです。このコミュニケーションはどのようにして起こるのでしょうか?この記事で取り上げる Web API は、クライアントが使用するソフトウェア アプリケーションと、情報が保存されているデータベースの間に位置します。さまざまな種類の API については、こちらをご覧ください。通信は、個々のソフトウェア アプリケーションが作成されたプログラミング言語に関係なく行われます。 Python、Java、JavaScript など。ソフトウェア アプリケーションから API に送信されたリクエストが、取得、更新、削除、作成操作のいずれであっても有効であることが条件です。

特定のユーザーが写真を投稿する Instagram のようなソーシャル メディア プラットフォームを想像してください。内部的には、ユーザーが所定の Instagram API エンドポイントに対して POST リクエストを行っていることになります。画像をデータベースに送信します。別のユーザーは、タイムラインをスクロールしているときに、API に GET リクエストを行うことで、意図せずに投稿を見ることができます。 API を介して通信が行われていることがわかります。

これは、2 人のユーザーが API を介して、異なる言語で書かれたソフトウェア アプリケーションと通信している場合にも当てはまります。
以下の図は、API を介して通信する 2 つの異なるソフトウェア アプリケーションを示しています。

Working with APIs in Python: A Practical Guide

著者による写真

さらに、API によりソフトウェア アプリケーションがモジュール化されます。ソフトウェア開発時間を短縮します。モジュラーとは、API 実装がコード ベースから分離されているという意味で、API を呼び出すだけで済みます。 API と同様の機能を提供するコードを最初から記述する必要がなく、呼び出すだけで済むため、開発時間が短縮されます。

この記事では、Python を使用して公開されている API を利用する方法を学びます。乞うご期待。

前提条件

この記事は、Python での特定の実装を使用して API について理解を深めたいと考えている初心者レベルの Python プログラマーに適しています。
一緒に練習するには、マシンがインターネットに接続されていることを確認してください。

この記事は、経験豊富な Python 開発者向けの復習としても役立ちます。

目的

この記事を最後まで読み進めることで、次のことを行う必要があります。
Python のリクエスト ライブラリについて学習します。
GET、PUT、PATCH、DELETE、POST リクエストの作成方法を理解します。
API 呼び出しから受信したデータをコード内に保存して利用する方法を学びます。

リクエストライブラリを理解する

requests は、最もダウンロードされた Python パッケージの 1 つであり、pypi によると毎週約 3,000 万ダウンロードされています。これにより、Python で HTTP リクエストを簡単に送信できるようになります。 request は、テスト済みで信頼できる Python パッケージであり、IBM などの多くの確立されたブランドで使用されています。ここでソース コードを見つけてください。
リクエストの「人気の」機能には次のようなものがあります:

  • キープアライブと接続プーリング

  • 国際ドメインと URL

  • Cookie 永続性を使用したセッション

  • ブラウザスタイルの SSL 検証

  • コンテンツの自動デコード

  • ベーシック/ダイジェスト認証

  • エレガントなキー/値 Cookie

  • 自動解凍

  • Unicode レスポンスボディ

  • HTTP(S) プロキシのサポート

  • マルチパート ファイルのアップロード

  • ストリーミング ダウンロード

  • 接続タイムアウト

  • 分割されたリクエスト

  • .netrc サポート

リクエストの開始

マシンにはすでに Python がインストールされていると思います。以下の手順に従って、リクエスト パッケージをインストールします:
Linux または Mac OS では、ターミナルを開いて次の操作を実行します。

python3 -m pip install requests

Windows では次のようにします:

python -m pip install requests

これにより、requests パッケージがマシンにダウンロードされます。

GETリクエストを行う

既存のデータを取得するために GET リクエストが行われます。これは、目的の属性を呼び出すことによって行われたリクエストに関する詳細を取得するためにさらに調査できるオブジェクトを返します。以下の使用例を参照してください:

  • Python ファイル (get_request.py など) を作成し、そのファイル内に次のコードを記述します。
# Import the requests module
import requests

# Making a simple GET request
response_object = requests.get("https://jsonplaceholder.typicode.com/posts")

response_object から、さまざまな属性を呼び出すことができます。
status_code: 応答の HTTP ステータス コード。

  • .text: 文字列としての応答本文。
  • .json(): 応答本文を JSON として解析します (該当する場合)。
  • .content: 生のバイトとしての応答本文。
  • .headers: 応答ヘッダーの辞書。
  • .cookies: サーバーによって設定された Cookie。
  • .url: リダイレクト後の最終 URL。
  • .経過 この記事では、.json() 属性にさらに焦点を当てます。 request.py ファイルで、response_object の .json() 属性を呼び出します。
json_data = response_object.json()
print(json_data)

返された JSON は json_data 変数に保存され、プログラム内で使用できます。
以下がコンソールに出力されます。

Working with APIs in Python: A Practical Guide

POSTリクエストを行う

POST リクエストは、指定されたエンドポイントにデータを送信し、新しいレコードを作成します。既存のデータを取得しようとする GET メソッドとは異なります。投稿リクエストを行うには、以下の手順に従ってください:

  • post_request.py または任意の便利な名前という名前の新しいファイルを作成します。ファイルに次のコードを記述します。
python3 -m pip install requests

これは、指定されたエンドポイントにデータを送信し、応答オブジェクトも返します。このオブジェクトには、送信された POST リクエストに関するいくつかの有益な情報が含まれています。オブジェクトの適切な属性を呼び出すことでアクセスできます。
応答オブジェクトの status_code 属性を呼び出して、操作が成功したことを確認します。コードを更新してください。

python -m pip install requests

これは 201 を返します。これは、POST リクエストが成功し、新しいリソースが作成されたことを示します。下の画像に示すように。

Working with APIs in Python: A Practical Guide

PUTリクエストを行う

PUT リクエストには、既存のレコードを新しいレコードで置き換えることが含まれます。送信者またはクライアントから新しいデータを取得し、既存のデータをそれで置き換えます。
PUT リクエストを行う方法は次のとおりです:

  • 新しい Python ファイルを作成します。この記事では put_request.py を使用します。その中に次のコードを記述します。
# Import the requests module
import requests

# Making a simple GET request
response_object = requests.get("https://jsonplaceholder.typicode.com/posts")

DELETEリクエストを行う

これにより、特定のレコードまたはデータが確実に削除されます。削除するレコードは常に一意の ID によって指定されます。通常はこれが指定されます。
これは DELETE 操作を実行する方法です:

  • 新しい Python ファイルを作成します。この記事では、delete_request.py を使用します。その中に次のコードを記述します。
json_data = response_object.json()
print(json_data)

PATCHリクエストを行う

既存のレコードやデータに部分的な変更を加えたい場合は常に PATCH メソッドを使用します。

  • 新しい Python ファイルを作成します。この記事では、patch_request.py を使用します。その中に次のコードを記述します。
# Import the requests module
import requests


# Making a simple POST request


data = {'userId': 1, 'id': 1, 'title': 'This is for POST request', \
        'body': 'This body is modified for this technical writing article by Augustine Alul'}
response_object = requests.post("https://jsonplaceholder.typicode.com/posts/", data=data)


print(response_object.status_code)

結論

requests ライブラリは、Python コードで HTTP リクエストを作成する簡単な方法を提供します。これにより、API との簡単な対話が可能になり、目的の属性を呼び出すだけで、行われたリクエストに関する有用な情報を提供するオブジェクトが返されます (属性は記事にあります)。
Python での API の操作はこれまで以上に簡単になりました。Python で API を操作するための一般的なライブラリは他にもありますが、そのシンプルさのために request ライブラリが選択されました。
この記事の最後までお付き合いいただき、ありがとうございます。これにより、Python で API の使用を開始するための良い背景が得られます。

以上がPython での API の操作: 実践ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。