Python 3.5 が導入されたため、ドキュメントでasync with
推奨されている構文が変更されました。彼らが提案する単一のURLを取得するには:aiohttp
import aiohttp
import asyncio
async def fetch(session, url):
with aiohttp.Timeout(10):
async with session.get(url) as response:
return await response.text()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
with aiohttp.ClientSession(loop=loop) as session:
html = loop.run_until_complete(
fetch(session, 'http://python.org'))
print(html)
これを変更して、1 つの URL ではなく、URL のコレクションを取得するにはどうすればよいですか?
古いasyncio
例では、次のようなタスクのリストを設定します。
tasks = [
fetch(session, 'http://cnn.com'),
fetch(session, 'http://google.com'),
fetch(session, 'http://twitter.com')
]
このようなリストを上記のアプローチと組み合わせようとしましたが、失敗しました。