Om du utvecklar eller designar en webbplats behöver du förmodligen få tag på några stockbilder. De kan vara användbara för prototyper, eller till och med att använda i din produktionsapp.
Du kan enkelt bygga en slumpmässig bildhämtare med det ständigt vänliga Python-språket. Du kan använda den för att visa upp slumpmässiga bilder i en widget, testa för att byta upplösning eller visa upp en produktrekommendationsmotor.
Följ det här projektet för att få praktisk erfarenhet av modulen Requests and Pillow. De kommer att visa sig användbara för framtida webbarbete, inklusive bildbehandling.
Modulerna för förfrågningar och kuddar
Modulen Requests gör det enkelt att göra HTTP-förfrågningar och returnerar ett svarsobjekt som innehåller data som kodning och status. Med detta kan du utveckla många intressanta applikationer som t.ex webbplatsstatuskontroll, webbskrapa, börsövervakare bot och webbplatsprestandatestare. För att installera modulen Requests, öppna terminalen och skriv:
pip-installationsförfrågningar
Pillow-biblioteket – en gaffel från Python Imaging Library (PIL) – tillhandahåller bildbehandlingsfunktioner som hjälper till att redigera, skapa, konvertera filformatoch spara bilder. Det erbjuder bred filformatskompatibilitet och en användbar intern representation. För att installera kuddmodulen, öppna terminalen och skriv:
pip installera Kudde
Hur man bygger en slumpmässig bildhämtare med Python
Du kan hitta källkoden för Random Image Fetcher med Python i detta GitHub Repository.
Importera modulerna och definiera en funktion som heter img_requests() som tar txt som en indataparameter. Skicka en GET-metod till Unsplashs API-URL och använd formatera metod för att fylla i platshållaren, {0}, med värdet txt. Spara svaret på innehållet i JPG-format och öppna bilden så att användaren kan se den. Slutligen, stäng den öppnade filen.
importera förfrågningar
från PIL importera Bild
defimg_requests(Text):
svar = requests.get(" https://source.unsplash.com/random{0}".format (txt))
fil = öppen('image.jpg', 'wb')
file.write (response.content)
img = Image.open(r"image.jpg")
img.show()
file.close()
Visa de olika alternativen som programmet ger användaren. De fyra första alternativen hämtar en bild i HD, Full HD, 2K eller 4K-upplösning beroende på valet. Om användaren väljer det femte alternativet måste han ange ett nyckelord. Baserat på det kommer programmet att välja en lämplig bild och spara den i systemet.
skriva ut(Vänligen ange ett alternativ för bild
1. HD slumpmässig bild
2. FHD slumpmässig bild
3.2K Slumpmässig bild
4.4k Slumpmässig bild
5. Bild med Användaren tillhandahållit nyckelord )
Få användarens val, visa ett lämpligt meddelande och anrop img_requests-funktionen och skicka lämplig text för sin fråga.
ans = input()
om'ett'i ans eller'1'i svar:
skriva ut("Vänta medan vi hämtar en HD-bild.")
img_requests('/1280x720')
elif'två'i ans eller'2'i svar:
skriva ut("Vänta medan vi hämtar en Full HD-bild.")
img_requests('/1920x1080')
elif'tre'i ans eller'3'i svar:
skriva ut("Vänta medan vi hämtar en 2k-bild.")
img_requests('/2048x1080')
elif"fyra"i ans eller'4'i svar:
skriva ut("Vänta medan vi hämtar en 4k-bild.")
img_requests('/4096x2160')
Det femte alternativet är lite mer komplicerat. Om användaren väljer det, be dem att ange sina sökord. Lägg till ett frågetecken framför nyckelordet och anropa funktionen för att hämta en slumpmässig bild enligt inmatningen.
elif'fem'i ans eller'5'i svar:
skriva ut("Ange ett nyckelord som du vill få en slumpmässig bild av.")
st = input()
st = "?" + st
skriva ut("Vänta medan vi hämtar bilderna från vår databas.")
img_requests (st)
Om användaren anger något annat, be dem att lämna giltig inmatning:
annan:
skriva ut("Vänligen ange en giltig inmatning.")
Sätt ihop all kod och njut av att hämta slumpmässiga bilder i hög upplösning.
Utdata från slumpmässig bildhämtare
När du kör programmet ovan visar programmet fem alternativ. När du valde något av alternativen sparade programmet en bild och visar den på skärmen.
Om du väljer alternativ 5 och anger nyckelordet Spider-Man, hämtade programmet följande Spider-Man-bild från Unsplash.
Webbskrapning med Python
Många webbplatser tillhandahåller användbara API: er, som Unsplashs slumpmässiga bildhämtare. Men för dem som inte gör det kan du alltid ta till webbskrapning, och Requests-modulen kan hjälpa.
Andra användbara moduler inkluderar Beautiful Soup, Selenium, Scrapy, Urllib och Mechanize. Du kan använda webbskrapning för att extrahera information från vilken webbplats som helst, lagra den och analysera den enligt dina krav.
Några av de applikationer du kan utveckla med den här tekniken inkluderar en nyhetsskrapa, en prisspårare och en bildnedladdare. Web Scraping används också flitigt i Natural Language Processing för att träna modeller och utföra sentimentanalys.