非同期リクエストによるページ コンテンツの取得
Python リクエスト ライブラリには、複数のリクエストを同時に処理するための非同期マッピング機能 async.map が用意されています。ただし、async.map を使用する場合、各ページの応答コンテンツの取得で問題が発生する可能性があります。
ページ コンテンツを正常に取得するには、次の手順に従う必要があります:
1 。タスクの関数を定義します:
各応答オブジェクトに対して実行するアクションを定義する関数を作成します。たとえば、応答の内容を出力する場合、関数は次のようになります。
def print_content(response): print(response.content)
2.関数をイベント フックとして追加します:
リクエストに、手順 1 で定義した関数をイベント フックとして追加します。これにより、応答が非同期で受信されるたびに関数が実行されます。
action_item = async.get(url, hooks={'response': print_content})
3.リクエストのリストで async.map を呼び出します:
実行する必要があるすべてのリクエストまたはアクションのリストをコンパイルします。次に、async.map を呼び出して、アクションのリストを渡します。これにより、すべてのタスクが非同期的に実行されます。
async_list.append(action_item) async.map(async_list)
これらの手順に従うことで、リクエスト ライブラリの async.map 機能を使用して、Python で複数のページのコンテンツを非同期的に取得できます。
以上がPython の `requests` ライブラリの `async.map` を使用してページ コンテンツを効率的に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。