Поиск по сайту:

Создайте средство выборки случайных изображений с помощью Python


API Unsplash прост в использовании, особенно вместе с модулем запросов Python. Начните получать образцы изображений с помощью этих инструментов уже сегодня.

Если вы разрабатываете или проектируете веб-сайт, вам, вероятно, понадобятся некоторые стоковые изображения. Они могут быть полезны для прототипирования или даже для использования в вашем рабочем приложении.

Вы можете легко создать средство выборки случайных изображений, используя удобный язык Python. Вы можете использовать его для демонстрации случайных визуальных эффектов в виджете, проверки переключения разрешения или демонстрации механизма рекомендаций продуктов.

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

Модули запросов и подушек

Модуль Requests упрощает выполнение HTTP-запросов и возвращает объект ответа, содержащий такие данные, как кодировка и статус. Благодаря этому вы можете разработать множество интересных приложений, таких как средство проверки статуса веб-сайта, веб-скребок, бот-монитор фондового рынка и тестер производительности веб-сайта. Чтобы установить модуль Requests, откройте терминал и введите:

pip install requests

Библиотека Pillow — ответвление библиотеки изображений Python (PIL) — предоставляет возможности обработки изображений, которые помогают в редактировании, создании, преобразовании форматов файлов и сохранении изображений. Он предлагает широкую совместимость форматов файлов и полезное внутреннее представление. Чтобы установить модуль Pillow, откройте терминал и введите:

pip install Pillow

Как создать сборщик случайных изображений с помощью Python

Вы можете найти исходный код Random Image Fetcher с использованием Python в этом репозитории GitHub.

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

import requests
from PIL import Image
def img_requests(txt):
    response = requests.get("https://source.unsplash.com/random{0}".format(txt))
    file = open('image.jpg', 'wb')
    file.write(response.content)
    img = Image.open(r"image.jpg")
    img.show()
    file.close()

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

print("""Please provide an option for Image
     1. HD Random Picture
     2. FHD Random Picture
     3. 2K Random Picture
     4. 4k Random Picture
     5. Picture with User Provided Keyword """)

Получите выбор пользователя, отобразите соответствующее сообщение и вызовите функцию img_requests, передав соответствующий текст для его запроса.

ans = input()
if 'one' in ans or '1' in ans:
     print("Please wait while we fetch an HD image.")
     img_requests('/1280x720')
elif 'two' in ans or '2' in ans:
     print("Please wait while we fetch a Full HD image.")
     img_requests('/1920x1080')
elif 'three' in ans or '3' in ans:
     print("Please wait while we fetch a 2k image.")
     img_requests('/2048x1080')
elif 'four' in ans or '4' in ans:
     print("Please wait while we fetch a 4k image.")
     img_requests('/4096x2160')

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

elif 'five' in ans or '5' in ans:
     print("Please enter a keyword you want to get a random image of.")
     st = input()
     st = "?" + st
     print("Please wait while we fetch the images from our database.")
     img_requests(st)

Если пользователь вводит что-либо еще, попросите его ввести действительные данные:

else:
     print("Please provide a valid input.")

Соберите весь код воедино и наслаждайтесь получением случайных изображений в высоком разрешении.

Вывод средства выборки случайных изображений

При запуске приведенной выше программы программа отображает пять вариантов. При выборе любого из вариантов программа сохраняет изображение и отображает его на экране.

Если вы выберете вариант 5 и введете ключевое слово «Человек-паук», программа получит следующее изображение Человека-паука из Unsplash.

Парсинг веб-страниц с использованием Python

Многие сайты предоставляют полезные API, например, средство выборки случайных изображений Unsplash. Но для тех, кто этого не делает, вы всегда можете прибегнуть к парсингу веб-страниц, и модуль «Запросы» может помочь.

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

Некоторые из приложений, которые вы можете разработать с использованием этого метода, включают парсер новостей, трекер цен и загрузчик изображений. Веб-скрапинг также широко используется в обработке естественного языка для обучения моделей и анализа настроений.

Статьи по данной тематике: