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:
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.