Python 提供了多种方式来调用 API。以下是几种常见的方法:
- 使用 requests 库
requests 是一个非常流行的 Python HTTP 库,可以用于发送 HTTP 请求。
import requests | |
response = requests.get('https://api.example.com/data') | |
data = response.json() | |
print(data) |
- 使用 urllib 库
urllib 是 Python 的内置库,用于处理 URL。虽然它可能不如 requests 库那么方便,但有时仍然可以使用它来发送 HTTP 请求。
import urllib.request | |
import json | |
url = 'https://api.example.com/data' | |
response = urllib.request.urlopen(url) | |
data = json.load(response) | |
print(data) |
- 使用 aiohttp 库
aiohttp 是一个异步 HTTP 客户端库,适用于需要处理大量并发请求的场景。
import aiohttp | |
import asyncio | |
async def fetch_data(): | |
async with aiohttp.ClientSession() as session: | |
async with session.get('https://api.example.com/data') as response: | |
data = await response.json() | |
print(data) | |
loop = asyncio.get_event_loop() | |
loop.run_until_complete(fetch_data()) |
- 使用 http.client 库
http.client 是 Python 的内置库,提供了低级别的 HTTP 客户端接口。这通常不推荐用于大多数应用程序,但在某些情况下可能有用。
import http.client as httplib | |
import json | |
conn = httplib.HTTPSConnection('api.example.com') | |
conn.request("GET", '/data') | |
response = conn.getresponse() | |
data = response.read() # This will be a byte string in Python 3.x | |
print(json.loads(data)) # Convert byte string to JSON object |
- 使用其他第三方库:Python 有许多其他库可以用于 API 调用,例如
PyTelegramBotAPI
(用于 Telegram API),Tweepy
(用于 Twitter API),等等。选择哪个库取决于你正在使用的具体 API。