Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengambil Kandungan Halaman daripada Permintaan Asynchronous dalam Perpustakaan Permintaan Python?

Bagaimana untuk Mengambil Kandungan Halaman daripada Permintaan Asynchronous dalam Perpustakaan Permintaan Python?

Patricia Arquette
Patricia Arquetteasal
2024-12-04 14:34:10600semak imbas

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

Pengendalian Permintaan Asynchronous dengan Perpustakaan Permintaan Python

Cabaran:

Sementara dokumentasi perpustakaan Requests menyediakan contoh untuk melaksanakan tak segerak permintaan, ia tidak mempunyai panduan untuk mendapatkan semula kandungan halaman. Kod berikut gagal mengakses kandungan:

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

Penyelesaian:

Untuk melaksanakan berbilang tugas tak segerak menggunakan async.map, ikut langkah berikut:

  1. Tentukan Fungsi Tugas: Cipta fungsi untuk mengendalikan setiap tugasan atau respons objek.
  2. Tambah Cangkuk Acara: Tambahkan fungsi ini sebagai cangkuk acara dalam permintaan untuk menentukan perkara yang perlu dilakukan dengan respons.
  3. Peta Permintaan : Panggil async.map dengan senarai semua permintaan atau tindakan yang ingin anda laksanakan secara tidak segerak.

Contoh:

Pertimbangkan senarai URL dan tugas mudah untuk mencetak URL respons:

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)

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Kandungan Halaman daripada Permintaan Asynchronous dalam Perpustakaan Permintaan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn