ホームページ >バックエンド開発 >Python チュートリアル >Python のリクエスト ライブラリで非同期リクエストからページ コンテンツを取得する方法

Python のリクエスト ライブラリで非同期リクエストからページ コンテンツを取得する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-04 14:34:10597ブラウズ

How to Retrieve Page Content from Asynchronous Requests in Python's Requests Library?

Python リクエスト ライブラリによる非同期リクエストの処理

チャレンジ:

リクエスト ライブラリのドキュメントには、非同期の実行例が記載されていますリクエストには、ページのコンテンツを取得するためのガイダンスがありません。次のコードはコンテンツへのアクセスに失敗します:

out = async.map(rs)
print out[0].content

解決策:

async.map を使用して複数の非同期タスクを実行するには、次の手順に従います:

  1. タスク関数の定義: 各タスクを処理する関数を作成しますまたは応答オブジェクト。
  2. イベント フックの追加: この関数をリクエストのイベント フックとして追加して、応答の処理方法を指定します。
  3. マップリクエスト: 実行したいすべてのリクエストまたはアクションのリストを指定して async.map を呼び出します。

例:

URL のリストと応答 URL を出力する簡単なタスクを考えてみましょう:

import async

urls = [
    'http://python-requests.org',
    'http://httpbin.org',
    'http://python-guide.org',
    'http://kennethreitz.com'
]

def do_something(response):
    print(response.url)

async_list = []

for u in urls:
    action_item = async.get(u, hooks={'response': do_something})
    async_list.append(action_item)

async.map(async_list)

以上がPython のリクエスト ライブラリで非同期リクエストからページ コンテンツを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。