Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Ako razvijate ili dizajnirate web stranicu, vjerojatno trebate nabaviti neke slike iz skladišta. Mogu biti od pomoći za izradu prototipova ili čak za korištenje u vašoj proizvodnoj aplikaciji.

Možete jednostavno izgraditi nasumični dohvaćač slika pomoću uvijek prijateljskog jezika Python. Možete ga koristiti za prikazivanje nasumičnih vizualnih elemenata u widgetu, testiranje promjene razlučivosti ili prikazivanje mehanizma za preporuku proizvoda.

Slijedite ovaj projekt kako biste stekli praktično iskustvo s modulom Requests and Pillow. Pokazat će se korisnima za budući web rad, uključujući obradu slika.

Zahtjevi i moduli jastuka

Modul Zahtjevi olakšava izradu HTTP zahtjeva i vraća objekt odgovora koji sadrži podatke kao što su kodiranje i status. Na taj način možete razviti mnoge zanimljive aplikacije kao što su provjera statusa web stranice, web scraper, bot za praćenje burze i tester performansi web stranice. Za instalaciju modula Zahtjevi otvorite terminal i upišite:

instagram viewer

pip instalacijski zahtjevi

Biblioteka Pillow—odvojak Python Imaging Library (PIL)—omogućuje mogućnosti obrade slika koje pomažu u uređivanju, stvaranju, pretvaranje formata datotekai spremanje slika. Nudi široku kompatibilnost formata datoteka i koristan interni prikaz. Za instaliranje Pillow modula otvorite terminal i upišite:

pip instalirati Jastuk

Kako izgraditi nasumično dohvaćanje slika pomoću Pythona

Ovdje možete pronaći izvorni kod programa Random Image Fetcher koji koristi Python GitHub spremište.

Uvezite module i definirajte funkciju pod nazivom img_requests() koji uzima txt kao ulazni parametar. Pošaljite GET metodu Unsplash API URL-u i upotrijebite format način ispunjavanja rezerviranog mjesta, {0}, s vrijednošću txt. Spremite odgovor sadržaja u JPG formatu i otvorite sliku kako bi je korisnik mogao vidjeti. Na kraju zatvorite otvorenu datoteku.

uvoz zahtjevi
iz PIL uvoz Slika

defimg_zahtjevi(txt):
odgovor = zahtjevi.get(" https://source.unsplash.com/random{0}".format (txt))
datoteka = otvori('image.jpg', 'wb')
file.write (response.content)
img = Image.open(r"slika.jpg")
img.show()
file.close()

Prikažite različite mogućnosti koje program nudi korisniku. Prve četiri opcije dohvatit će sliku u HD, Full HD, 2K ili 4K rezoluciji, ovisno o izboru. Ako korisnik odabere petu opciju, mora unijeti ključnu riječ. Na temelju njega program će odabrati odgovarajuću sliku i spremiti je u sustav.

ispis(Navedite opciju za sliku
1. HD slučajna slika
2. FHD nasumična slika
3.2K Slučajna slika
4.4k Nasumična slika
5. Slika s Ključna riječ koju daje korisnik )

Dobijte korisnikov izbor, prikažite odgovarajuću poruku i pozovite funkciju img_requests, prosljeđujući odgovarajući tekst za njihov upit.

ans = unos()

ako'jedan'u ans ili'1'u odgovor:
ispis("Pričekajte dok ne dohvatimo HD sliku.")
img_requests('/1280x720')
elif'dva'u ans ili'2'u odgovor:
ispis("Pričekajte dok ne dohvatimo Full HD sliku.")
img_requests('/1920x1080')
elif'tri'u ans ili'3'u odgovor:
ispis("Pričekajte dok ne dohvatimo 2k sliku.")
img_requests('/2048x1080')
elif'četiri'u ans ili'4'u odgovor:
ispis("Pričekajte dok ne dohvatimo 4k sliku.")
img_requests('/4096x2160')

Peta opcija je malo kompliciranija. Ako korisnik to odabere, zamolite ga da unese svoje ključne riječi. Dodajte upitnik ispred ključne riječi i pozovite funkciju za dohvaćanje nasumične slike prema unosu.

elif'pet'u ans ili'5'u odgovor:
ispis("Molimo unesite ključnu riječ za koju želite dobiti nasumično odabranu sliku.")
st = unos()
st = "?" + sv
ispis("Pričekajte dok ne dohvatimo slike iz naše baze podataka.")
img_requests (st)

Ako korisnik unese bilo što drugo, zamolite ga da da valjani unos:

drugo:
ispis("Molimo unesite važeći unos.")

Sastavite sav kod i uživajte u dohvaćanju nasumičnih slika u visokoj rezoluciji.

Izlaz nasumičnog dohvaćanja slika

Prilikom pokretanja gornjeg programa, program prikazuje pet opcija. Odabirom bilo koje opcije, program sprema sliku i prikazuje je na ekranu.

Ako odaberete opciju 5 i unesete ključnu riječ Spider-Man, program će dohvatiti sljedeću sliku Spider-Mana iz Unsplasha.

Skrapiranje weba pomoću Pythona

Mnoga mjesta nude korisne API-je, poput Unsplashovog nasumičnog dohvaćanja slika. Ali za one koji to ne rade, uvijek možete pribjeći web scrapingu, a modul Zahtjevi može pomoći.

Ostali korisni moduli uključuju Beautiful Soup, Selenium, Scrapy, Urllib i Mechanize. Web scraping možete koristiti za izdvajanje informacija s bilo koje web stranice, pohranjivanje i analizu prema vašim zahtjevima.

Neke od aplikacija koje možete razviti pomoću ove tehnike uključuju struganje vijesti, praćenje cijena i preuzimanje slika. Web Scraping se također intenzivno koristi u obradi prirodnog jezika za obuku modela i analizu osjećaja.