非同期プログラミングは、Python アプリケーションのパフォーマンスを向上させるために使用できる強力な手法です。リクエスト ライブラリは、非同期リクエストのサポートを提供します。これを使用すると、複数のリクエストを同時に送信でき、大幅な時間を節約できる可能性があります。
リクエスト ライブラリで非同期リクエストを使用する 1 つの方法は、 async.map() 関数。この関数はリクエストのリストを取得し、それらを並行して実行します。デフォルトでは、async.map() は応答オブジェクトのリストを返します。
ただし、async.map() を使用して、要求された各ページのコンテンツを返すこともできます。これを行うには、hooks パラメータを使用して、各応答で実行される関数を渡します。この関数を使用して、ページのコンテンツを抽出できます。
次の例は、async.map() を使用して、要求された各ページのコンテンツを返す方法を示しています。
from requests import async import asyncio urls = [ 'http://python-requests.org', 'http://httpbin.org', 'http://python-guide.org', 'http://kennethreitz.com' ] async def get_page_content(url): response = await async.get(url) return response.content async def main(): contents = await asyncio.gather(*[get_page_content(url) for url in urls]) return contents contents = asyncio.run(main()) for content in contents: print(content)
この例では、async.get() 関数を使用して、各 URL にリクエストを送信します。次に、get_page_content() 関数を使用して各ページのコンテンツを抽出します。 asyncio.gather() 関数は、すべてのリクエストが完了するのを待つために使用されます。
この例の出力は、リクエストされた各ページのコンテンツのリストになります。
以上がPython の「requests」ライブラリを効率的な非同期リクエストに使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。