Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

Hvis du udvikler eller designer en hjemmeside, skal du sandsynligvis have fat i nogle lagerbilleder. De kan være nyttige til prototyping eller endda til brug i din produktionsapp.

Du kan nemt bygge en tilfældig billedhenter ved hjælp af det altid venlige Python-sprog. Du kan bruge det til at vise tilfældige billeder i en widget, teste for opløsningsskift eller vise en produktanbefalingsmotor.

Følg dette projekt for at få praktisk erfaring med modulet Requests and Pillow. De vil vise sig nyttige til fremtidigt webarbejde, herunder billedbehandling.

Forespørgsler og pudemoduler

Requests-modulet gør det nemt at lave HTTP-anmodninger og returnerer et svarobjekt, der indeholder data såsom kodning og status. Med dette kan du udvikle mange interessante applikationer som f.eks hjemmesidestatuskontrol, webskraber, aktiemarkedsmonitorbot og webstedsydelsestester. For at installere Requests-modulet skal du åbne terminalen og skrive:

pip installationsanmodninger

Pillow-biblioteket – en forgrening af Python Imaging Library (PIL) – giver billedbehandlingsfunktioner, der hjælper med at redigere, skabe, konvertering af filformaterog gemme billeder. Det tilbyder bred filformatkompatibilitet og en nyttig intern repræsentation. For at installere pudemodulet skal du åbne terminalen og skrive:

pip installer Pude

Sådan bygger du en tilfældig billedhenter ved hjælp af Python

Du kan finde kildekoden til Random Image Fetcher ved hjælp af Python i denne GitHub Repository.

Importer modulerne og definer en funktion med navnet img_requests() der tager txt som en inputparameter. Send en GET-metode til Unsplash's API URL og brug format metode til at udfylde pladsholderen, {0}, med værdien txt. Gem svaret på indholdet i JPG-format og åbn billedet, så brugeren kan se det. Luk til sidst den åbnede fil.

importere anmodninger
fra PIL importere Billede

defimg_requests(txt):
svar = requests.get(" https://source.unsplash.com/random{0}".format (txt))
fil = åben('image.jpg', 'wb')
file.write (respons.indhold)
img = Image.open(r"image.jpg")
img.show()
file.close()

Vis de forskellige muligheder, programmet giver brugeren. De første fire muligheder vil hente et billede i HD, Full HD, 2K eller 4K opløsning afhængigt af valget. Hvis brugeren vælger den femte mulighed, skal han angive et nøgleord. Baseret på det, vil programmet vælge et passende billede og gemme det i systemet.

Print(Angiv venligst en mulighed for billede
1. HD tilfældigt billede
2. FHD tilfældigt billede
3.2K Tilfældigt billede
4.4k Tilfældigt billede
5. Billede med Brugerleveret søgeord )

Få brugerens valg, vis en passende besked, og ring til img_requests-funktionen, og send den passende tekst til deres forespørgsel.

ans = input()

hvis'en'i ans eller'1'i svar:
Print("Vent venligst, mens vi henter et HD-billede.")
img_requests('/1280x720')
elif'to'i ans eller'2'i svar:
Print("Vent venligst, mens vi henter et Full HD-billede.")
img_requests('/1920x1080')
elif'tre'i ans eller'3'i svar:
Print("Vent venligst, mens vi henter et 2K-billede.")
img_requests('/2048x1080')
elif'fire'i ans eller'4'i svar:
Print("Vent venligst, mens vi henter et 4K-billede.")
img_requests('/4096x2160')

Den femte mulighed er lidt mere kompliceret. Hvis brugeren vælger det, skal du bede dem om at indtaste deres søgeord. Tilføj et spørgsmålstegn foran søgeordet og kald funktionen for at hente et tilfældigt billede i henhold til input.

elif'fem'i ans eller'5'i svar:
Print("Indtast venligst et nøgleord, du vil have et tilfældigt billede af.")
st = input()
st = "?" + st
Print("Vent venligst mens vi henter billederne fra vores database.")
img_requests (st)

Hvis brugeren indtaster noget andet, skal du bede dem om at give et gyldigt input:

andet:
Print("Angiv venligst et gyldigt input.")

Sæt al koden sammen, og nyd at hente tilfældige billeder i høj opløsning.

Output af den tilfældige billedhenter

Når du kører programmet ovenfor, viser programmet fem muligheder. Ved at vælge en af ​​indstillingerne gemte programmet et billede og viser det på skærmen.

Hvis du vælger mulighed 5 og indtaster søgeordet Spider-Man, hentede programmet følgende Spider-Man-billede fra Unsplash.

Webskrabning ved hjælp af Python

Mange websteder tilbyder nyttige API'er, som Unsplashs tilfældige billedhenter. Men for dem, der ikke gør det, kan du altid ty til web-skrabning, og Requests-modulet kan hjælpe.

Andre nyttige moduler omfatter Smuk suppe, Selen, Scrapy, Urllib og Mechanize. Du kan bruge web-skrabning til at udtrække information fra ethvert websted, gemme det og analysere det i henhold til dine krav.

Nogle af de applikationer, du kan udvikle ved hjælp af denne teknik, omfatter en nyhedsskraber, en pristracker og en billeddownloader. Web Scraping er også flittigt brugt i Natural Language Processing til at træne modeller og udføre sentimentanalyse.