Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Ако разработвате или проектирате уебсайт, вероятно трябва да се сдобиете с някои стокови изображения. Те могат да бъдат полезни за създаване на прототипи или дори за използване във вашето производствено приложение.

Можете лесно да създадете програма за произволно извличане на изображения, като използвате винаги удобния език Python. Можете да го използвате, за да покажете произволни визуални елементи в джаджа, да тествате за превключване на разделителната способност или да покажете механизъм за препоръки за продукти.

Следвайте този проект, за да придобиете практически опит с модула Requests and Pillow. Те ще се окажат полезни за бъдеща уеб работа, включително обработка на изображения.

Заявките и модулите за възглавници

Модулът Requests улеснява отправянето на HTTP заявки и връща обект на отговор, който съдържа данни като кодиране и състояние. С това можете да разработите много интересни приложения като a

instagram viewer
проверка на състоянието на уебсайта, уеб скрепер, бот за наблюдение на фондовия пазар и тестер за ефективност на уебсайтове. За да инсталирате модула Заявки, отворете терминала и въведете:

заявки за инсталиране на pip

Библиотеката Pillow—разклонение на Python Imaging Library (PIL)—предоставя възможности за обработка на изображения, които помагат при редактиране, създаване, конвертиране на файлови форматии запазване на изображения. Предлага широка съвместимост на файлови формати и полезно вътрешно представяне. За да инсталирате модула Pillow, отворете терминала и въведете:

pip инсталирайте възглавница

Как да създадете система за произволно извличане на изображения с помощта на Python

Можете да намерите изходния код на Random Image Fetcher с помощта на Python тук GitHub хранилище.

Импортирайте модулите и дефинирайте функция с име img_requests() който приема txt като входен параметър. Изпратете метод GET към URL адреса на API на Unsplash и използвайте формат метод за попълване на контейнера, {0}, със стойността на txt. Запазете отговора на съдържанието във формат JPG и отворете изображението, така че потребителят да може да го види. Накрая затворете отворения файл.

импортиране заявки
от PIL импортиране Изображение

дефimg_requests(текст):
отговор = requests.get(" https://source.unsplash.com/random{0}".format (txt))
файл = отворен('image.jpg', "wb")
file.write (response.content)
img = Image.open(r"image.jpg")
img.show()
file.close()

Показване на различните опции, които програмата предоставя на потребителя. Първите четири опции ще извлекат изображение в HD, Full HD, 2K или 4K резолюция в зависимост от избора. Ако потребителят избере петата опция, той трябва да посочи ключова дума. Въз основа на него програмата ще избере подходящо изображение и ще го запише в системата.

печат (Моля, дайте опция за изображение
1. HD произволна картина
2. FHD произволна картина
3.2K Случайна снимка
4.4k Случайна снимка
5. Снимка с Ключова дума, предоставена от потребителя )

Вземете избора на потребителя, покажете подходящо съобщение и извикайте функцията img_requests, предавайки подходящия текст за тяхната заявка.

ans = вход()

ако"един"в ans или'1'в отговор:
печат („Моля, изчакайте, докато извлечем HD изображение.“)
img_requests('/1280x720')
елиф"две"в ans или'2'в отговор:
печат („Моля, изчакайте, докато извлечем Full HD изображение.“)
img_requests('/1920x1080')
елиф'три'в ans или'3'в отговор:
печат („Моля, изчакайте, докато извлечем 2k изображение.“)
img_requests('/2048x1080')
елиф"четири"в ans или'4'в отговор:
печат („Моля, изчакайте, докато извлечем 4k изображение.“)
img_requests('/4096x2160')

Петият вариант е малко по-сложен. Ако потребителят го избере, помолете го да въведе своите ключови думи. Добавете въпросителен знак пред ключовата дума и извикайте функцията за извличане на произволно изображение според входа.

елиф"пет"в ans или'5'в отговор:
печат („Моля, въведете ключова дума, за която искате да получите произволно изображение.“)
st = вход()
st = "?" + ул
печат („Моля, изчакайте, докато извлечем изображенията от нашата база данни.“)
img_requests (st)

Ако потребителят въведе нещо друго, помолете го да предостави валиден вход:

друго:
печат („Моля, предоставете валиден вход.“)

Съберете целия код заедно и се насладете на извличането на произволни снимки с висока резолюция.

Изход от програмата за произволно извличане на изображения

При стартиране на програмата по-горе, програмата показва пет опции. При избор на някоя от опциите, програмата записва изображение и го показва на екрана.

Ако изберете опция 5 и въведете ключовата дума Spider-Man, програмата извлича следното изображение на Spider-Man от Unsplash.

Уеб скрапинг с помощта на Python

Много сайтове предоставят полезни API, като програмата за произволно извличане на изображения на Unsplash. Но за тези, които не го правят, винаги можете да прибегнете до уеб скрапинг и модулът за заявки може да помогне.

Други полезни модули включват Beautiful Soup, Selenium, Scrapy, Urllib и Mechanize. Можете да използвате уеб скрапинг, за да извлечете информация от всеки уебсайт, да я съхранявате и анализирате според вашите изисквания.

Някои от приложенията, които можете да разработите с помощта на тази техника, включват скрепер за новини, инструмент за проследяване на цените и инструмент за изтегляне на изображения. Web Scraping също се използва широко в обработката на естествен език за обучение на модели и извършване на анализ на настроението.