首页 > 解决方案 > 从字典中抓取 Aiohttp json

问题描述

如何使用 aiohttp 分隔 json 字典:

示例:https : //fortnite-public-service-live-prod.ol.epicgames.com/fortnite/api/version 从“版本”部分获取 12.50,因此响应为“12.50” onlyAio

标签: pythonpython-3.xaiohttp

解决方案


aiohttp可以自动为您解析 JSON 数据;之后,只需从文档中获取正确的密钥:

import asyncio
import aiohttp

async def get_data():
    async with aiohttp.ClientSession() as session:
        while True:
            async with session.get("https://fortnite-public-service-live-prod.ol.epicgames.com/fortnite/api/version") as resp:
                if resp.status == 200:
                    data = await resp.json()
                    print("version is: %s" % data["version"])
                else:
                    print("invalid response status %s", resp.status)
            await asyncio.sleep(5)


if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    try:
        loop.run_until_complete(get_data())
    except KeyboardInterrupt:
        pass

输出:

version is: 12.50
version is: 12.50
version is: 12.50

这将每 5 秒打印一次版本;用来Ctrl+C阻止它。


推荐阅读