Я только начинаю изучать эту новую библиотеку под названием Requests- Html, которую я только что изучил в учебном пособии Кори Шафера , и задача состоит в создать asyn c вызов n различных запросов .
Так, например, у нас есть следующий код, который выполняется примерно за 3,6 секунды:
async def get_delay1():
r = await asession.get("https://httpbin.org/delay/1")
return r
async def get_delay2():
r = await asession.get("https://httpbin.org/delay/2")
return r
async def get_delay3():
r = await asession.get("https://httpbin.org/delay/3")
return r
asession = AsyncHTMLSession()
t1 = time.perf_counter()
results = asession.run(get_delay1, get_delay2, get_delay3)
for result in results:
response = result.html.url
print(response)
t2 = time.perf_counter()
print(t2 - t1)
Вопрос в том, что мне делать, если я хочу создать 500 asyn c запрос с этой библиотекой? Не может быть так, что мне придется кодировать 500 различных функций, верно?
Я пытался создать список с генераторами функций, чтобы я мог автоматически передавать n различные функции внутри него:
tasks = [get_delay1, get_delay2, get_delay3]
results = asession.run(tasks)
Но я получаю
ERROR`:
asyncio.ensure_future(coro()) for coro in coros
TypeError: 'list' object is not callable