Hvis du utvikler eller designer et nettsted, må du sannsynligvis få tak i noen arkivbilder. De kan være nyttige for prototyping, eller til og med å bruke i produksjonsappen din.
Du kan enkelt bygge en tilfeldig bildehenter ved å bruke det alltid vennlige Python-språket. Du kan bruke den til å vise frem tilfeldige bilder i en widget, teste for oppløsningsbytte eller vise frem en produktanbefalingsmotor.
Følg dette prosjektet for å få praktisk erfaring med Requests and Pute-modulen. De vil vise seg nyttige for fremtidig nettarbeid, inkludert bildebehandling.
Forespørsler og putemoduler
Requests-modulen gjør det enkelt å lage HTTP-forespørsler og returnerer et svarobjekt som inneholder data som koding og status. Med dette kan du utvikle mange interessante applikasjoner som f.eks nettstedstatuskontroller, nettskraper, aksjemarkedsmonitorbot og nettstedytelsestester. For å installere Requests-modulen, åpne terminalen og skriv inn:
pip-installasjonsforespørsler
Pillow-biblioteket – en gaffel fra Python Imaging Library (PIL) – gir bildebehandlingsfunksjoner som hjelper til med redigering, opprettelse, konvertere filformaterog lagre bilder. Den tilbyr bred filformatkompatibilitet og en nyttig intern representasjon. For å installere putemodulen, åpne terminalen og skriv inn:
pip installer Pute
Hvordan bygge en tilfeldig bildehenter ved hjelp av Python
Du kan finne kildekoden til Random Image Fetcher ved å bruke Python i denne GitHub Repository.
Importer modulene og definer en funksjon kalt img_requests() som tar txt som en inngangsparameter. Send en GET-metode til Unsplash sin API URL og bruk format metode for å fylle ut plassholderen, {0}, med verdien av txt. Lagre responsen til innholdet i JPG-format og åpne bildet slik at brukeren kan se det. Lukk til slutt den åpnede filen.
import forespørsler
fra PIL import Bilde
defimg_requests(tekst):
respons = requests.get(" https://source.unsplash.com/random{0}".format (txt))
fil = åpen('image.jpg', 'wb')
file.write (response.content)
img = Image.open(r"image.jpg")
img.show()
file.close()
Vis de forskjellige alternativene programmet gir brukeren. De fire første alternativene vil hente et bilde i HD, Full HD, 2K eller 4K-oppløsning avhengig av valget. Hvis brukeren velger det femte alternativet, må han oppgi et nøkkelord. Basert på det, vil programmet velge et passende bilde og lagre det i systemet.
skrive ut(Vennligst oppgi et alternativ for bilde
1. HD tilfeldig bilde
2. FHD tilfeldig bilde
3.2K Tilfeldig bilde
4.4k Tilfeldig bilde
5. Bilde med Brukerangitt nøkkelord )
Få brukerens valg, vis en passende melding og ring img_requests-funksjonen, og send den passende teksten for søket.
ans = input()
hvis'en'i ans eller'1'i svar:
skrive ut("Vennligst vent mens vi henter et HD-bilde.")
img_requests('/1280x720')
elif'to'i ans eller'2'i svar:
skrive ut("Vennligst vent mens vi henter et Full HD-bilde.")
img_requests('/1920 x 1080')
elif'tre'i ans eller'3'i svar:
skrive ut("Vennligst vent mens vi henter et 2k-bilde.")
img_requests('/2048x1080')
elif'fire'i ans eller'4'i svar:
skrive ut("Vennligst vent mens vi henter et 4K-bilde.")
img_requests('/4096x2160')
Det femte alternativet er litt mer komplisert. Hvis brukeren velger det, be dem om å skrive inn søkeordene sine. Legg til et spørsmålstegn foran søkeordet og kall opp funksjonen for å hente et tilfeldig bilde i henhold til input.
elif'fem'i ans eller'5'i svar:
skrive ut("Vennligst skriv inn et nøkkelord du ønsker å få et tilfeldig bilde av.")
st = input()
st = "?" + st
skrive ut("Vennligst vent mens vi henter bildene fra databasen vår.")
img_requests (st)
Hvis brukeren skriver inn noe annet, be dem om å gi gyldige inndata:
ellers:
skrive ut("Vennligst oppgi et gyldig innspill.")
Sett sammen all koden og nyt å hente tilfeldige bilder i høy oppløsning.
Utdata fra tilfeldig bildehenter
Når du kjører programmet ovenfor, viser programmet fem alternativer. Ved å velge et av alternativene, lagret programmet et bilde og viser det på skjermen.
Hvis du velger alternativ 5 og skriver inn nøkkelordet Spider-Man, hentet programmet følgende Spider-Man-bilde fra Unsplash.
Nettskraping ved hjelp av Python
Mange nettsteder tilbyr nyttige APIer, som Unsplash sin tilfeldige bildehenter. Men for de som ikke gjør det, kan du alltid ty til nettskraping, og forespørsler-modulen kan hjelpe.
Andre nyttige moduler inkluderer Beautiful Soup, Selenium, Scrapy, Urllib og Mechanize. Du kan bruke nettskraping til å trekke ut informasjon fra et hvilket som helst nettsted, lagre det og analysere det i henhold til dine behov.
Noen av applikasjonene du kan utvikle med denne teknikken inkluderer en nyhetsskraper, en prissporer og en bildenedlaster. Web Scraping er også mye brukt i Natural Language Processing for å trene modeller og utføre sentimentanalyse.