Jei kuriate ar kuriate svetainę, tikriausiai turite turėti keletą vaizdų. Jie gali būti naudingi kuriant prototipus arba netgi naudojami jūsų gamybos programoje.
Galite lengvai sukurti atsitiktinį vaizdų gavimo įrenginį naudodami visada draugišką Python kalbą. Galite naudoti jį norėdami parodyti atsitiktinius vaizdus valdiklyje, išbandyti skiriamąją gebą arba parodyti produkto rekomendacijų variklį.
Vykdykite šį projektą, kad įgytumėte praktinės patirties su prašymų ir pagalvės moduliu. Jie bus naudingi būsimam darbui internete, įskaitant vaizdo apdorojimą.
Užklausos ir pagalvių moduliai
Užklausų modulis palengvina HTTP užklausų pateikimą ir pateikia atsakymo objektą, kuriame yra duomenų, tokių kaip kodavimas ir būsena. Taip galite sukurti daug įdomių programų, tokių kaip a svetainės būsenos tikrintuvas, žiniatinklio grandiklis, akcijų rinkos stebėjimo robotas ir svetainės našumo tikrintuvas. Norėdami įdiegti užklausų modulį, atidarykite terminalą ir įveskite:
pip diegimo užklausos
„Pillow“ biblioteka – „Python Imaging Library“ (PIL) šakutė – suteikia vaizdo apdorojimo galimybes, kurios padeda redaguoti, kurti, failų formatų konvertavimasir išsaugoti vaizdus. Jis siūlo platų failų formatų suderinamumą ir naudingą vidinį vaizdą. Norėdami įdiegti pagalvės modulį, atidarykite terminalą ir įveskite:
pip install Pagalvė
Kaip sukurti atsitiktinių vaizdų gavimo priemonę naudojant Python
Atsitiktinių vaizdų gavimo šaltinio kodą galite rasti naudodami Python „GitHub“ saugykla.
Importuokite modulius ir apibrėžkite funkciją pavadinimu img_requests() kuris naudoja txt kaip įvesties parametrą. Nusiųskite GET metodą į Unsplash API URL ir naudokite formatu būdas užpildyti rezervuotą vietą, {0}, su txt reikšme. Išsaugokite turinio atsakymą JPG formatu ir atidarykite vaizdą, kad vartotojas galėtų jį peržiūrėti. Galiausiai uždarykite atidarytą failą.
importuoti prašymus
iš PIL importuoti Vaizdas
defimg_requests(txt):
atsakymas = requests.get(" https://source.unsplash.com/random{0}".formatas (txt))
failas = atidaryti („vaizdas.jpg“, "wb")
file.write (response.content)
img = Image.open(r"vaizdas.jpg")
img.show()
file.close()
Rodyti įvairias parinktis, kurias programa suteikia vartotojui. Pirmosios keturios parinktys pateiks vaizdą HD, Full HD, 2K arba 4K raiška, priklausomai nuo pasirinkimo. Jei vartotojas pasirenka penktą variantą, jis turi pateikti raktinį žodį. Pagal jį programa parinks tinkamą vaizdą ir išsaugos jį sistemoje.
spausdinti (Pateikite vaizdo parinktį
1. HD atsitiktinis vaizdas
2. FHD atsitiktinis vaizdas
3.2K Atsitiktinis paveikslėlis
4.4k Atsitiktinis paveikslėlis
5. Paveikslėlis su Vartotojo pateiktas raktinis žodis )
Gaukite vartotojo pasirinkimą, parodykite atitinkamą pranešimą ir iškvieskite funkciją img_requests, perduodant atitinkamą užklausos tekstą.
ans = input ()
jeigu"vienas"in ans arba'1'in ans:
spausdinti („Prašau palaukti, kol gausime HD vaizdą“.)
img_requests('/1280x720')
elifas'du'in ans arba'2'in ans:
spausdinti („Prašau palaukti, kol gausime „Full HD“ vaizdą.)
img_requests('/1920x1080')
elifas"trys"in ans arba'3'in ans:
spausdinti („Prašau palaukti, kol gausime 2k vaizdą.)
img_requests('/2048x1080')
elifas'keturi'in ans arba'4'in ans:
spausdinti („Prašau palaukti, kol gausime 4k vaizdą.)
img_requests('/4096x2160')
Penktasis variantas yra šiek tiek sudėtingesnis. Jei vartotojas tai pasirenka, paprašykite įvesti raktinius žodžius. Pridėkite klaustuką prieš raktinį žodį ir iškvieskite funkciją, kad gautumėte atsitiktinį vaizdą pagal įvestį.
elifas'penki'in ans arba'5'in ans:
spausdinti ("Įveskite raktinį žodį, kurio vaizdą norite gauti atsitiktinai.")
st = įvestis ()
st = "?" + šv
spausdinti („Prašau palaukti, kol paimsime vaizdus iš mūsų duomenų bazės.)
img_requests (st)
Jei vartotojas įveda ką nors kita, paprašykite jo pateikti teisingą įvestį:
Kitas:
spausdinti („Prašome pateikti teisingą įvestį“.)
Sudėkite visą kodą ir mėgaukitės atsitiktinių didelės raiškos nuotraukų gavimu.
Atsitiktinio vaizdo gavimo priemonės išvestis
Paleidus aukščiau pateiktą programą, programa rodo penkias parinktis. Pasirinkus bet kurią iš parinkčių, programa išsaugojo vaizdą ir parodo jį ekrane.
Jei pasirinksite 5 parinktį ir įvesite raktinį žodį Žmogus-voras, programa iš Unsplash atsiuntė šį Žmogaus-voro vaizdą.
Žiniatinklio nuskaitymas naudojant Python
Daugelyje svetainių teikiamos naudingos API, pvz., „Unsplash“ atsitiktinių vaizdų gavimo priemonė. Tačiau tiems, kurie to nedaro, visada galite pasinaudoti žiniatinklio rinkimu, o užklausų modulis gali padėti.
Kiti naudingi moduliai yra „Beautiful Soup“, „Selenium“, „Scrapy“, „Urllib“ ir „Mechanize“. Galite naudoti žiniatinklio rinkimą, norėdami išgauti informaciją iš bet kurios svetainės, ją saugoti ir analizuoti pagal savo poreikius.
Kai kurios programos, kurias galite sukurti naudodami šią techniką, yra naujienų grandiklis, kainų stebėjimo priemonė ir vaizdų atsisiuntimo priemonė. „Web Scraping“ taip pat plačiai naudojamas natūralios kalbos apdorojime, kad būtų mokomi modeliai ir atliekama nuotaikų analizė.