@zasara

Как изменить значение у ключа в массиве при асинхронном парсинге?

Я паршу сайт с книгами через асинку, но результат выдает без авторов. Поэтому я отдельно выписал авторов и запросы делаю через список авторов authors. Мне нужно поменять значение ключа author на самих авторов, как это сделать не понимаю.

Вот код:
book_result = []
async def x_get(session, t: str):
    url = f'...={t}'

    async with session.get(url, ssl=False) as resp:
        resp_json = await resp.json()
        book_result.append(resp_json)
    
async def x_scraper():
    authors = ['IDEN', 'WILL', 'LONDON']
    async with aiohttp.ClientSession() as session:
        tasks = []
        for t in authors:
            task = asyncio.create_task(x_get(session, t))
            tasks.append(task)
        await asyncio.gather(*tasks)

asyncio.run(x_scraper())


Массив book_result выглядит так:
[
    {
        "author": null,
        "book": "102",
        "id": 507
    },
    {
        "author": null,
        "book": "12",
        "id": 412
    },
    {
        "author": null,
        "book": "17",
        "id": 490
    }
]


Мне нужно преобразовать, чтобы было так:
[
    {
        "author": WILL,
        "book": "102",
        "id": 507
    },
    {
        "author": IDEN,
        "book": "12",
        "id": 412
    },
    {
        "author": LONDON,
        "book": "17",
        "id": 490
    }
]
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
@cunning-seal
после получения данных добавляй эти данные к словарику:
resp_json['author'] = t
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы