PythonでAPIを呼び出す方法

Jun 10, 2023 pm 05:09 PM
Python API呼び出し API呼び出しメソッド Pythonリクエストモジュール

Python は、統合 API、またはアプリケーション プログラミング インターフェイスに適した高レベル プログラミング言語です。 API は通常、Web サイトやさまざまなソフトウェアによって提供されるインターフェイスであり、異なるプログラム間のデータ交換と通信を可能にします。 Python で API を呼び出すと、データを簡単に取得してアプリケーションに統合できます。

この記事ではPythonでAPIを呼び出す方法と実際のプロジェクトへの応用方法を紹介します。この例は、気象データを提供するオンライン サービスである OpenWeatherMap API への呼び出しです。

ステップ 1: API キーを登録して取得する

ほとんどの API では、データにアクセスするために登録して API キーを提供する必要があります。 OpenWeatherMap では、Web サイト https://home.openweathermap.org/users/sign_up にアクセスして登録し、API キーを取得する必要があります。ログインすると、API キーが表示されます。

ステップ 2: リクエスト モジュールをインストールする

リクエスト モジュールは、Python で API を使用するための重要なツールです。これをインストールしたことがない場合は、ターミナルまたはコマンド ラインで「pip installrequests」を実行して、requests モジュールをインストールします。

ステップ 3: API リクエストを構築する

リクエスト モジュールの get() メソッドを使用して HTTP GET リクエストを送信し、API を探索します。たとえば、都市の気象データを取得するには、次のコードを使用します。

import requests

url = "http://api.openweathermap.org/data/2.5/weather?q={}&appid={}"
city = "San Francisco"
api_key = "{your_api_key}"

response = requests.get(url.format(city, api_key))

if response.status_code == 200:
    data = response.json()
    print(data)
else:
    print("Error fetching data from API")
ログイン後にコピー

「{your_api_key}」を API キーに置き換えてから、URL に都市名を置き換える必要があります。このコードを実行すると、OpenWeatherMap API から返される JSON 形式のデータを取得できます。

ステップ 4: API 応答を解釈する

API 応答は通常、JSON 形式で返されます。これらの応答には、成功または失敗のメッセージなどの API リクエストに関する情報と、必要なデータが含まれています。上記のコードでは、API 応答を JSON に解析し、変数「data」に格納します。現在の気温、風速などの特定のデータ要素にアクセスできます。

ステップ 5: 取得したデータをアプリケーションに適用する

最後に、取得したデータをアプリケーションに適用する必要があります。これは、API 応答から抽出されたデータを使用して実行できます。

以下は、OpenWeatherMap API を呼び出して天気を表示する完全な Python スクリプトです:

import requests
import tkinter as tk

HEIGHT = 500
WIDTH = 600

def get_weather(city):
    url = "http://api.openweathermap.org/data/2.5/weather?q={}&appid={}"
    api_key = "{your_api_key}"
    response = requests.get(url.format(city, api_key))
    if response.status_code == 200:
        data = response.json()
        name = data['name']
        desc = data['weather'][0]['description']
        temp = data['main']['temp']
        humidity = data['main']['humidity']
        wind_speed = data['wind']['speed']
        label['text'] = 'City: %s
Conditions: %s
Temperature (Celsius): %s
Humidity: %s
Wind Speed(kmph): %s' % (name, desc, temp-273.15, humidity, wind_speed)
    else:
        label['text'] = 'Error fetching data from API'
def display_weather():
    city = city_entry.get()
    get_weather(city)

root = tk.Tk()

canvas = tk.Canvas(root, height=HEIGHT, width=WIDTH)
canvas.pack()

frame = tk.Frame(root, bg='#80c1ff', bd=5)
frame.place(relx=0.5, rely=0.1, relwidth=0.75, relheight=0.1, anchor='n')

city_entry = tk.Entry(frame, font=40)
city_entry.place(relwidth=0.65, relheight=1)

button = tk.Button(frame, text="Get Weather", font=40, command=display_weather)
button.place(relx=0.7, relheight=1, relwidth=0.3)

lower_frame = tk.Frame(root, bg='#80c1ff', bd=10)
lower_frame.place(relx=0.5, rely=0.3, relwidth=0.75, relheight=0.5, anchor='n')

label = tk.Label(lower_frame, font=('Courier', 18))
label.place(relwidth=1, relheight=1)

root.mainloop()
ログイン後にコピー

この Python スクリプトは、TKinter ライブラリを使用して、ユーザーが都市を入力できるシンプルな GUI を構築します。名前を入力して画面に表示します。 都市に関する気象データを表示します。これはまさに、他のアプリケーションと通信してデータを取得し、それをアプリケーションで使用するという API 呼び出しの中心的な考え方です。

結論

Python では、API を使用してデータを取得するのは非常に簡単です。手順には、API キーの登録と取得、リクエスト モジュールのインストール、API リクエストの構築、API レスポンスの解析、アプリケーションでのデータの使用が含まれます。 API を呼び出すことで、必要なデータを簡単に取得し、Python アプリケーションに統合できます。

以上がPythonでAPIを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLを解析するために美しいスープを使用するにはどうすればよいですか? HTMLを解析するために美しいスープを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:54 PM

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?

Pythonでの画像フィルタリング Pythonでの画像フィルタリング Mar 03, 2025 am 09:44 AM

Pythonでの画像フィルタリング

Pythonでファイルをダウンロードする方法 Pythonでファイルをダウンロードする方法 Mar 01, 2025 am 10:03 AM

Pythonでファイルをダウンロードする方法

Pythonを使用してテキストファイルのZIPF配布を見つける方法 Pythonを使用してテキストファイルのZIPF配布を見つける方法 Mar 05, 2025 am 09:58 AM

Pythonを使用してテキストファイルのZIPF配布を見つける方法

Pythonを使用してPDFドキュメントの操作方法 Pythonを使用してPDFドキュメントの操作方法 Mar 02, 2025 am 09:54 AM

Pythonを使用してPDFドキュメントの操作方法

DjangoアプリケーションでRedisを使用してキャッシュする方法 DjangoアプリケーションでRedisを使用してキャッシュする方法 Mar 02, 2025 am 10:10 AM

DjangoアプリケーションでRedisを使用してキャッシュする方法

TensorflowまたはPytorchで深い学習を実行する方法は? TensorflowまたはPytorchで深い学習を実行する方法は? Mar 10, 2025 pm 06:52 PM

TensorflowまたはPytorchで深い学習を実行する方法は?

Pythonで独自のデータ構造を実装する方法 Pythonで独自のデータ構造を実装する方法 Mar 03, 2025 am 09:28 AM

Pythonで独自のデータ構造を実装する方法

See all articles