У меня есть сопрограмма, отправляющая веб-запросы и обрабатывающая их.В настоящее время я делаю:
async def scrape(url, sess, logging=None):
# request
result = sess.get(url, headers=headers(url))
# process
if result.ok:
await(post_process(result.content))
async def main():
# code here
for url in urls:
await asyncio.create_task(scrape(url, sess))
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Проблема в том, что работает медленно!Кажется, запросы блокируют цикл.Как я могу превратить запросы в сопрограммы и ждать их завершения?
Примечание: Я сделал это в Google.Но я не нашел краткого примера, чтобы сделать это.Кроме того, я использую requests
и , некоторые поиски показывают, что это вызывает проблемы.