import asyncio
def main (cards_list):
loop = asyncio.new_event_loop() # создаю луп
tasks = []
for card in cards_list:
task = loop.create_task(parse_card(card)) # создаю футуру
tasks.append(task)
group = asyncio.gather(*tasks, loop=loop) # добавляю список футур
data = loop.run_until_complete(group) # запускаю луп до полного выполнения с возвращением значений
return data # возвращаю полученные данные
async def parse_card(card):
d = dict()
# из карточки берется html
# "вставляется" в объект супа
# и возвращается словарь
# внутри этой функции не используются await
return d
if '__main__' == __name__:
cards_list = [...] # тут список карточек в html
data = main(cards_list) # передаю cards_list в main
print(data)
async def parse_card(card):
d = dict()
# из карточки берется html
# "вставляется" в объект супа
# и возвращается словарь
# внутри этой функции не используются await
return d