Scarica l'immagine in Python

Muhammad Maisam Abbas 11 dicembre 2023
  1. Scarica l’immagine usando il pacchetto urllib in Python
  2. Scarica l’immagine usando la libreria requests in Python
Scarica l'immagine in Python

Questo tutorial discuterà alcuni dei modi più importanti per scaricare un’immagine da Internet utilizzando Python.

Scarica l’immagine usando il pacchetto urllib in Python

Il pacchetto urllib è una raccolta di diversi moduli per lavorare con gli URL. urllib.request è un modulo utilizzato per aprire e leggere i contenuti sugli URL. Per questo tutorial, useremo Python per scaricare un file immagine da https://www.python.org/images/success/nasa.jpg. Nel modulo urllib.request è possibile utilizzare due metodi per scaricare un’immagine, che verrà spiegata di seguito.

Scarica l’immagine usando il metodo urllib.request.urlretrieve(url, filename)

Il seguente esempio di codice mostra come possiamo scaricare un’immagine in Python usando il metodo urlretrieve(url, filename).

import urllib.request

urllib.request.urlretrieve("https://www.python.org/images/success/nasa.jpg", "NASA.jpg")

print("download successful")

Produzione:

download successful

Il codice precedente scarica l’immagine nella directory di lavoro corrente. Il metodo urlretrieve(url, filename) prende l’URL dell’immagine e il nome del file che vuoi memorizzare come argomenti. Il metodo urlretrieve(url, filename) è elencato nell’interfaccia legacy della documentazione ufficiale, il che significa che il metodo urlretrieve(url, filename) sarà deprecato in futuro.

Scarica l’immagine usando urllib.request.urlopen(url)

Per superare l’inevitabile deprecazione del metodo urlretrieve(url, filename), è possibile utilizzare [metodo urlopen(url) con la gestione dei file. Secondo la documentazione ufficiale di Python, il metodo urlopen(url) viene utilizzato per aprire qualsiasi URL.

Il seguente esempio di codice mostra come possiamo scaricare un’immagine usando il metodo urlopen(url) con la gestione dei file.

import urllib.request

f = open("NASA2.jpg", "wb")
f.write(urllib.request.urlopen("https://www.python.org/images/success/nasa.jpg").read())
f.close()
print("download successful")

Produzione:

download successful

Nel codice sopra, per prima cosa apriamo un file chiamato NASA2.jpg in modalità write binari usando il metodo open(filename, mode). Nella riga successiva, scriviamo il contenuto letto dall’URL nel file utilizzando il metodo write(). Dopodiché, chiudiamo il file usando il metodo close().

Scarica l’immagine usando la libreria requests in Python

Le richieste è una libreria Python che possiamo usare per inviare richieste HTTP/1.1 al server. Possiamo inviare una richiesta GET all’URL utilizzando il metodo get(url) nella libreria richieste per ottenere il file immagine dall’URL e quindi salvarlo utilizzando la gestione dei file.

Il seguente esempio di codice mostra come possiamo scaricare un’immagine usando la libreria richieste con la gestione dei file.

import requests

f = open("NASA3.jpg", "wb")
response = requests.get("https://www.python.org/images/success/nasa.jpg")
f.write(response.content)
f.close()

print("download successful")

Produzione:

download successful

Nel codice sopra, per prima cosa apriamo un file chiamato NASA3.jpg in modalità write binaries usando il metodo open(filename, mode).

Nella riga successiva, memorizziamo la risposta dalla nostra richiesta GET nella variabile - response.

Dopodiché, scriviamo il contenuto binario dalla response nel file usando il metodo write().

Infine, chiudiamo il file usando il metodo close().

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Articolo correlato - Python Image