Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk memuat turun imej dengan cekap menggunakan perpustakaan permintaan Python?

Bagaimana untuk memuat turun imej dengan cekap menggunakan perpustakaan permintaan Python?

Linda Hamilton
Lepaskan: 2025-01-02 22:12:41
asal
1010 orang telah melayarinya

How to Efficiently Download Images Using Python's Requests Library?

Memuat turun Imej dengan Permintaan

Memuat turun imej daripada web menggunakan modul permintaan Python boleh menjadi tugas yang mudah. Walau bagaimanapun, apabila beralih daripada urllib2 kepada permintaan, adalah penting untuk memahami perbezaan dalam atribut yang digunakan untuk mendapatkan semula data imej.

Pada mulanya, kod menggunakan urllib2 membaca imej menggunakan img.read(), manakala yang dikehendaki pendekatan dengan permintaan mempunyai img = r.raw.read(). Ini adalah salah kerana r.raw ialah objek fail, bukan data imej sebenar.

Untuk menyelesaikannya, terdapat dua penyelesaian yang berdaya maju:

  • Menggunakan Objek Fail Response.raw:

    Tetapkan decode_content kepada True untuk memaksa penyahmampatan termampat maklum balas. Ini membolehkan anda menstrim data ke objek fail menggunakan shutil.copyfileobj().

    import requests
    import shutil
    
    r = requests.get(url, stream=True)
    if r.status_code == 200:
        with open(path, 'wb') as f:
            r.raw.decode_content = True
            shutil.copyfileobj(r.raw, f)        
    Salin selepas log masuk
  • Lelaran Atas Respons:

    Kaedah ini memastikan penyahmampatan data.

    r = requests.get(url, stream=True)
    if r.status_code == 200:
        with open(path, 'wb') as f:
            for chunk in r:
                f.write(chunk)
    Salin selepas log masuk

    Sebagai alternatif, anda boleh menentukan saiz bongkah tersuai menggunakan Response.iter_content().

    r = requests.get(url, stream=True)
    if r.status_code == 200:
        with open(path, 'wb') as f:
            for chunk in r.iter_content(1024):
                f.write(chunk)
    Salin selepas log masuk

Ingat untuk membuka fail destinasi dalam mod binari ('wb') untuk mengelakkan baris baharu daripada diterjemahkan. Selain itu, tetapkan strim=True untuk menghalang keseluruhan imej daripada dimuat turun ke dalam memori.

Atas ialah kandungan terperinci Bagaimana untuk memuat turun imej dengan cekap menggunakan perpustakaan permintaan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan