【发布时间】:2023-01-10 22:42:56
【问题描述】:
我正在尝试使用 Python 的 asyncio 模块并行化对 Wikidata API 的请求。
我当前的同步脚本执行以下操作:
import requests
base_url = "https://www.wikidata.org/w/api.php&"
payload = {
"action": "query",
"list": "search",
"srsearch": search_term,
"language": "en",
"format": "json",
"origin": "*",
}
res = requests.get(base_url, params=payload)
我正在尝试使用asyncio 来异步发送请求。
从this blogpost 和文档,我知道我需要类似的东西:
from aiohttp import ClientSession
async with ClientSession() as session:
async with session.get(url) as response:
response = await response.read()
但是,我没有设法找到如何在请求中添加这些有效负载。我必须手动重建 URL 还是有办法以异步方式发送有效负载?
【问题讨论】:
-
什么是
ClientSession?请使您的代码完整。
标签: python python-requests python-asyncio wikidata-api