Kaltaisesi lukijat auttavat tukemaan MUO: ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion. Lue lisää.

Jos olet kehittämässä tai suunnittelemassa verkkosivustoa, sinun on luultavasti hankittava joitain arkistokuvia. Niistä voi olla apua prototyyppien luomisessa tai jopa tuotantosovelluksessasi.

Voit helposti rakentaa satunnaisen kuvanhakijan aina ystävällisellä Python-kielellä. Voit käyttää sitä esittelemään satunnaisia ​​visuaaleja widgetissä, testaamaan resoluution vaihtoa tai esittelemään tuotesuositusmoottoria.

Seuraa tätä projektia saadaksesi käytännön kokemusta Requests and Pillow -moduulista. Ne ovat hyödyllisiä tulevassa verkkotyössä, mukaan lukien kuvankäsittelyssä.

Pyynnöt ja tyynymoduulit

Requests-moduuli tekee HTTP-pyyntöjen tekemisestä helppoa ja palauttaa vastausobjektin, joka sisältää tietoja, kuten koodauksen ja tilan. Tämän avulla voit kehittää monia mielenkiintoisia sovelluksia, kuten a verkkosivuston tilantarkistus, verkkokaavin, osakemarkkinoiden valvontabotti ja verkkosivuston suorituskyvyn testaaja. Asenna Requests-moduuli avaamalla pääte ja kirjoittamalla:

pip-asennuspyynnöt

Pillow-kirjasto – Python Imaging Libraryn (PIL) haarukka – tarjoaa kuvankäsittelyominaisuuksia, jotka auttavat muokkaamaan, luomaan, tiedostomuotojen muuntaminenja kuvien tallentamiseen. Se tarjoaa laajan tiedostomuotoyhteensopivuuden ja hyödyllisen sisäisen esityksen. Asenna Pillow-moduuli avaamalla pääte ja kirjoittamalla:

pip install Pillow

Satunnaisen kuvanhakijan rakentaminen Pythonilla

Löydät Random Image Fetcherin lähdekoodin Pythonilla tästä GitHub-arkisto.

Tuo moduulit ja määritä funktio nimeltä img_requests() joka ottaa txt: n syöttöparametriksi. Lähetä GET-menetelmä Unsplashin API-URL-osoitteeseen ja käytä muoto tapa täyttää paikkamerkki, {0}, jonka arvo on txt. Tallenna sisällön vastaus JPG-muodossa ja avaa kuva niin, että käyttäjä voi katsella sitä. Sulje lopuksi avattu tiedosto.

tuonti pyynnöt
alkaen PIL tuonti Kuva

defimg_requests(txt):
vastaus = requests.get(" https://source.unsplash.com/random{0}".formaatti (txt))
file = open("kuva.jpg", 'wb')
file.write (response.content)
img = Image.open(r"kuva.jpg")
img.show()
file.close()

Näytä ohjelman käyttäjälle tarjoamat eri vaihtoehdot. Ensimmäiset neljä vaihtoehtoa hakevat kuvan HD-, Full HD-, 2K- tai 4K-resoluutiolla valinnasta riippuen. Jos käyttäjä valitsee viidennen vaihtoehdon, hänen on annettava avainsana. Sen perusteella ohjelma valitsee sopivan kuvan ja tallentaa sen järjestelmään.

Tulosta(Anna vaihtoehto Kuvalle
1. HD satunnainen kuva
2. FHD satunnainen kuva
3.2K Satunnainen kuva
4.4k Satunnainen kuva
5. Kuva kanssa Käyttäjän antama avainsana )

Hanki käyttäjän valinta, näytä asianmukainen viesti ja kutsu img_requests-funktio välittäen oikean tekstin hänen kyselylleen.

ans = input()

jos'yksi'sisään ans tai'1'sisään ans:
Tulosta("Odota, kun haemme HD-kuvan.")
img_requests('/1280x720')
elif'kaksi'sisään ans tai'2'sisään ans:
Tulosta("Odota, kun haemme Full HD -kuvan.")
img_requests('/1920x1080')
elif'kolme'sisään ans tai'3'sisään ans:
Tulosta("Odota, kun haemme 2k-kuvan.")
img_requests('/2048x1080')
elif'neljä'sisään ans tai'4'sisään ans:
Tulosta("Odota, kun haemme 4K-kuvan.")
img_requests('/4096x2160')

Viides vaihtoehto on hieman monimutkaisempi. Jos käyttäjä valitsee sen, pyydä häntä antamaan avainsanat. Lisää kysymysmerkki avainsanan eteen ja kutsu funktio hakemaan satunnainen kuva syötteen mukaan.

elif'viisi'sisään ans tai'5'sisään ans:
Tulosta("Syötä avainsana, josta haluat saada satunnaisen kuvan.")
st = input()
st = "?" + st
Tulosta("Odota, kun haemme kuvat tietokannastamme.")
img_requests (st)

Jos käyttäjä kirjoittaa jotain muuta, pyydä häntä antamaan kelvollinen syöttö:

muu:
Tulosta("Anna kelvollinen syöte.")

Yhdistä kaikki koodi ja nauti satunnaisten korkearesoluutioisten kuvien hakemisesta.

Satunnaiskuvahakijan tulos

Kun yllä oleva ohjelma suoritetaan, ohjelma näyttää viisi vaihtoehtoa. Kun valitset jonkin vaihtoehdoista, ohjelma tallensi kuvan ja näyttää sen näytöllä.

Jos valitset vaihtoehdon 5 ja annat avainsanan Spider-Man, ohjelma haki seuraavan Spider-Man-kuvan Unsplashista.

Web-kaappaus Pythonilla

Monet sivustot tarjoavat hyödyllisiä sovellusliittymiä, kuten Unsplashin satunnaisen kuvanhakijan. Mutta ne, jotka eivät, voivat aina turvautua verkkokaappaukseen, ja Pyynnöt-moduuli voi auttaa.

Muita hyödyllisiä moduuleja ovat Beautiful Soup, Selenium, Scrapy, Urllib ja Mechanize. Voit käyttää web-kaappausta tietojen poimimiseen mistä tahansa verkkosivustosta, tallentamiseen ja analysoimiseen tarpeidesi mukaan.

Joitakin sovelluksia, joita voit kehittää tällä tekniikalla, ovat uutiskaavin, hintaseuranta ja kuvanlatausohjelma. Web Scrapingia käytetään laajasti myös Natural Language Processingissa mallien kouluttamiseen ja mielialan analysointiin.