Se stai sviluppando o progettando un sito web, probabilmente avrai bisogno di alcune immagini stock. Possono essere utili per la prototipazione o anche per l'utilizzo nella tua app di produzione.
Puoi facilmente creare un fetcher di immagini casuali usando il linguaggio Python sempre amichevole. Puoi usarlo per mostrare elementi visivi casuali in un widget, testare il cambio di risoluzione o mostrare un motore di raccomandazione del prodotto.
Segui questo progetto per acquisire esperienza pratica con il modulo Richieste e cuscino. Si dimostreranno utili per il futuro lavoro sul Web, inclusa l'elaborazione delle immagini.
I moduli Richieste e Cuscino
Il modulo Requests semplifica l'esecuzione di richieste HTTP e restituisce un oggetto risposta che contiene dati come la codifica e lo stato. Con questo, puoi sviluppare molte applicazioni interessanti come a
verifica dello stato del sito web, web scraper, bot di monitoraggio del mercato azionario e tester delle prestazioni del sito web. Per installare il modulo Richieste, apri il terminale e digita:richieste di installazione pip
La libreria Pillow, un fork della Python Imaging Library (PIL), fornisce capacità di elaborazione delle immagini che aiutano a modificare, creare, convertire formati di filee salvare le immagini. Offre un'ampia compatibilità di formati di file e un'utile rappresentazione interna. Per installare il modulo Pillow, apri il terminale e digita:
pip installa il cuscino
Come costruire un fetcher di immagini casuali usando Python
Puoi trovare il codice sorgente di Random Image Fetcher usando Python in questo Repository GitHub.
Importa i moduli e definisci una funzione denominata img_requests() che accetta txt come parametro di input. Invia un metodo GET all'URL dell'API di Unsplash e usa il file formato metodo per riempire il segnaposto, {0}, con il valore di txt. Salva la risposta del contenuto in formato JPG e apri l'immagine in modo che l'utente possa visualizzarla. Infine, chiudi il file aperto.
importare richieste
da PIL importare Immagine
defimg_requests(TXT):
risposta = richieste.get(" https://source.unsplash.com/random{0}".formato (txt))
file = apri('immagine.jpg', 'wb')
file.write (risposta.contenuto)
img = Immagine.apri(r"immagine.jpg")
img.mostra()
file.chiudi()
Visualizza le diverse opzioni che il programma mette a disposizione dell'utente. Le prime quattro opzioni recupereranno un'immagine con risoluzione HD, Full HD, 2K o 4K a seconda della scelta. Se l'utente sceglie la quinta opzione, deve fornire una parola chiave. Sulla base di ciò, il programma selezionerà un'immagine adatta e la salverà nel sistema.
stampa(Si prega di fornire un'opzione per l'immagine
1. Immagine HD casuale
2. Immagine casuale FHD
3.2K Immagine casuale
4.4k Immagine casuale
5. Immagine con Parola chiave fornita dall'utente )
Ottenere la scelta dell'utente, visualizzare un messaggio appropriato e chiamare la funzione img_requests, passando il testo appropriato per la query.
ans = input()
Se'uno'In es O'1'In e:
stampa("Attendi mentre recuperiamo un'immagine HD.")
img_requests('/1280x720')
elif'due'In es O'2'In e:
stampa("Attendi mentre recuperiamo un'immagine Full HD.")
img_requests('/1920x1080')
elif'tre'In es O'3'In e:
stampa("Attendi mentre recuperiamo un'immagine 2k.")
img_requests('/2048x1080')
elif'quattro'In es O'4'In e:
stampa("Attendi mentre recuperiamo un'immagine 4K.")
img_requests('/4096x2160')
La quinta opzione è un po' più complicata. Se l'utente lo sceglie, chiedigli di inserire le sue parole chiave. Aggiungi un punto interrogativo davanti alla parola chiave e chiama la funzione per recuperare un'immagine casuale in base all'input.
elif'cinque'In es O'5'In e:
stampa("Inserisci una parola chiave di cui desideri ottenere un'immagine casuale.")
st = input()
s = "?" + st
stampa("Attendi mentre recuperiamo le immagini dal nostro database.")
img_requests (st)
Se l'utente inserisce qualcos'altro, chiedigli di fornire un input valido:
altro:
stampa("Si prega di fornire un input valido.")
Metti insieme tutto il codice e divertiti a recuperare immagini casuali ad alta risoluzione.
Output di Random Image Fetcher
Durante l'esecuzione del programma sopra, il programma visualizza cinque opzioni. Scegliendo una delle opzioni, il programma salva un'immagine e la visualizza sullo schermo.
Se scegli l'opzione 5 e inserisci la parola chiave Spider-Man, il programma ha recuperato la seguente immagine di Spider-Man da Unsplash.
Scraping Web utilizzando Python
Molti siti forniscono API utili, come il recupero di immagini casuali di Unsplash. Ma per coloro che non lo fanno, puoi sempre ricorrere al web scraping e il modulo Richieste può aiutarti.
Altri moduli utili includono Beautiful Soup, Selenium, Scrapy, Urllib e Mechanize. Puoi utilizzare il web scraping per estrarre informazioni da qualsiasi sito Web, archiviarle e analizzarle in base alle tue esigenze.
Alcune delle applicazioni che puoi sviluppare utilizzando questa tecnica includono un raschietto di notizie, un tracker di prezzi e un downloader di immagini. Il web scraping è anche ampiamente utilizzato nell'elaborazione del linguaggio naturale per addestrare modelli ed eseguire analisi del sentiment.