Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Perpustakaan `permintaan` Python Boleh Digunakan untuk Permintaan Tak Segerak yang Cekap?

Bagaimanakah Perpustakaan `permintaan` Python Boleh Digunakan untuk Permintaan Tak Segerak yang Cekap?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-05 15:25:09464semak imbas

How Can Python's `requests` Library Be Used for Efficient Asynchronous Requests?

Permintaan Asynchronous dengan permintaan Python

Pengaturcaraan tak segerak ialah teknik berkuasa yang boleh digunakan untuk meningkatkan prestasi aplikasi Python anda. Pustaka permintaan menyediakan sokongan untuk permintaan tak segerak, yang boleh digunakan untuk menghantar berbilang permintaan pada masa yang sama, berpotensi menjimatkan masa yang banyak.

Salah satu cara untuk menggunakan permintaan tak segerak dengan perpustakaan permintaan adalah dengan menggunakan fungsi async.map(). Fungsi ini mengambil senarai permintaan dan melaksanakannya secara selari. Secara lalai, async.map() akan mengembalikan senarai objek respons.

Walau bagaimanapun, anda juga boleh menggunakan async.map() untuk mengembalikan kandungan setiap halaman yang diminta. Untuk melakukan ini, anda boleh menggunakan parameter cangkuk untuk menghantar fungsi yang akan dilaksanakan pada setiap respons. Fungsi ini kemudiannya boleh digunakan untuk mengekstrak kandungan halaman.

Contoh berikut menunjukkan cara menggunakan async.map() untuk mengembalikan kandungan setiap halaman yang diminta:

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)

Contoh ini menggunakan fungsi async.get() untuk menghantar permintaan ke setiap URL. Fungsi get_page_content() kemudiannya digunakan untuk mengekstrak kandungan setiap halaman. Fungsi asyncio.gather() digunakan untuk menunggu semua permintaan selesai.

Output contoh ini akan menjadi senarai kandungan setiap halaman yang diminta.

Atas ialah kandungan terperinci Bagaimanakah Perpustakaan `permintaan` Python Boleh Digunakan untuk Permintaan Tak Segerak yang Cekap?. 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