Če razvijate ali oblikujete spletno stran, boste verjetno morali dobiti nekaj slik iz zaloge. Lahko so v pomoč pri izdelavi prototipov ali celo za uporabo v vaši proizvodni aplikaciji.
Z vedno prijaznim jezikom Python lahko preprosto zgradite naključni zbiralnik slik. Uporabite ga lahko za predstavitev naključnih vizualnih elementov v gradniku, preizkus preklopa ločljivosti ali prikaz mehanizma za priporočila izdelkov.
Sledite temu projektu, da pridobite praktične izkušnje z modulom Zahteve in vzglavnik. Izkazali se bodo za uporabne za prihodnje spletno delo, vključno z obdelavo slik.
Zahteve in moduli vzglavnikov
Modul Zahteve poenostavi izdelavo zahtev HTTP in vrne odgovorni objekt, ki vsebuje podatke, kot sta kodiranje in status. S tem lahko razvijete veliko zanimivih aplikacij, kot je npr preverjanje stanja spletnega mesta, spletno strgalo, bot za spremljanje borze in preizkuševalec delovanja spletnega mesta. Za namestitev modula Requests odprite terminal in vnesite:
zahteve za namestitev pip
Knjižnica Pillow—razcep Python Imaging Library (PIL)—zagotavlja zmožnosti obdelave slik, ki pomagajo pri urejanju, ustvarjanju, pretvorbo formatov datotekin shranjevanje slik. Ponuja široko združljivost formatov datotek in uporabno notranjo predstavitev. Za namestitev modula Pillow odprite terminal in vnesite:
pip install Vzglavnik
Kako zgraditi naključni zbiralnik slik z uporabo Pythona
Tukaj lahko najdete izvorno kodo Random Image Fetcher z uporabo Pythona Repozitorij GitHub.
Uvozite module in definirajte imenovano funkcijo img_requests() ki sprejme txt kot vhodni parameter. Pošljite metodo GET na URL API Unsplash in uporabite format način zapolnitve nadomestnega mesta, {0}, z vrednostjo txt. Shranite odziv vsebine v formatu JPG in odprite sliko, da si jo uporabnik lahko ogleda. Na koncu zaprite odprto datoteko.
uvoz zahteve
od PIL uvoz Slika
defimg_requests(txt):
odgovor = requests.get(" https://source.unsplash.com/random{0}".format (txt))
datoteka = odpri('image.jpg', 'wb')
file.write (response.content)
img = Image.open(r"slika.jpg")
img.show()
file.close()
Prikažite različne možnosti, ki jih program ponuja uporabniku. Prve štiri možnosti bodo pridobile sliko v ločljivosti HD, Full HD, 2K ali 4K, odvisno od izbire. Če se uporabnik odloči za peto možnost, mora vnesti ključno besedo. Na podlagi nje bo program izbral ustrezno sliko in jo shranil v sistem.
natisni(Navedite možnost za sliko
1. HD naključna slika
2. FHD naključna slika
3.2K Naključna slika
4.4k Naključna slika
5. Slika z Uporabniška ključna beseda )
Pridobite izbiro uporabnika, prikažite ustrezno sporočilo in pokličite funkcijo img_requests ter posredujte ustrezno besedilo za njihovo poizvedbo.
ans = vnos()
če'ena'v ans oz'1'v odgovor:
natisni("Prosimo, počakajte, da pridobimo HD sliko.")
img_requests('/1280 x 720')
elif'dva'v ans oz'2'v odgovor:
natisni("Prosimo, počakajte, da pridobimo sliko Full HD.")
img_requests('/1920 x 1080')
elif'tri'v ans oz'3'v odgovor:
natisni("Prosimo, počakajte, da pridobimo 2k sliko.")
img_requests('/2048 x 1080')
elif'štiri'v ans oz'4'v odgovor:
natisni("Prosimo, počakajte, da pridobimo sliko 4k.")
img_requests('/4096 x 2160')
Peta možnost je nekoliko bolj zapletena. Če ga uporabnik izbere, ga prosite, naj vnese svoje ključne besede. Dodajte vprašaj pred ključno besedo in pokličite funkcijo za pridobivanje naključne slike glede na vnos.
elif'pet'v ans oz'5'v odgovor:
natisni("Prosimo, vnesite ključno besedo, za katero želite dobiti naključno sliko.")
st = vhod()
st = "?" + st
natisni("Prosimo, počakajte, da pridobimo slike iz naše zbirke podatkov.")
img_requests (st)
Če uporabnik vnese kar koli drugega, ga prosite, naj zagotovi veljaven vnos:
drugače:
natisni("Prosimo, vnesite veljaven vnos.")
Sestavite vso kodo in uživajte v pridobivanju naključnih slik v visoki ločljivosti.
Izhod naključnega zbiralnika slik
Ko zaženete zgornji program, program prikaže pet možnosti. Ob izbiri katere od možnosti program shrani sliko in jo prikaže na zaslonu.
Če izberete možnost 5 in vnesete ključno besedo Spider-Man, program iz Unsplash pridobi naslednjo sliko Spider-Mana.
Spletno strganje z uporabo Pythona
Številna spletna mesta ponujajo uporabne API-je, kot je Unsplashov naključni zbiralnik slik. Toda za tiste, ki tega ne storijo, se lahko vedno zatečete k spletnemu strganju, pri čemer vam lahko pomaga modul Zahteve.
Drugi uporabni moduli vključujejo Beautiful Soup, Selenium, Scrapy, Urllib in Mechanize. Spletno strganje lahko uporabite za pridobivanje informacij s katerega koli spletnega mesta, njihovo shranjevanje in analizo v skladu z vašimi zahtevami.
Nekatere aplikacije, ki jih lahko razvijete s to tehniko, vključujejo strgalo za novice, sledilnik cen in prenosnik slik. Web Scraping se v veliki meri uporablja tudi pri obdelavi naravnega jezika za urjenje modelov in izvajanje analize čustev.