Изображение профиля является одним из основных элементов любой учетной записи в социальной сети, но такие приложения, как Instagram, не позволяют просматривать или загружать его. Этот процесс можно легко выполнить с помощью инструмента веб-автоматизации, такого как Selenium с Python.
Научитесь использовать этот мощный дуэт для взаимодействия с любым элементом веб-страницы, автоматизируйте его и сэкономьте бесценное время, вкладываясь в продуктивные задачи. И лучшая часть? Создайте это, даже не входя в систему и не имея учетной записи Instagram!
Процесс построения алгоритма
Построение алгоритма относится к процессу выявления проблемы и составления списка шагов, которые программа должна автоматизировать. Различные шаги, необходимые для загрузки изображения профиля:
- Возьмите имя пользователя профиля в качестве входных данных
- Откройте Google Chrome
- Посетите профиль в Instagram
- Загрузите изображение профиля
Это служит алгоритмом постановки задачи.
В этом проекте используются следующие модули и инструменты Python.
1. Модуль URL-адреса
Urllib — это модуль Python, используемый для обработки URL-адресов из Интернета. Вы собираетесь использовать этот модуль для загрузки изображения профиля учетной записи с исходного URL-адреса. Если Urllib отсутствует в вашей системе, вы можете установить его с помощью команды pip установить urllib.
2. Модуль времени
Этот модуль, хотя и не является обязательным, может привести к сбою сборки, если ваше интернет-соединение медленное или содержимое веб-страницы не загружается во время взаимодействия программы Python с веб-страница. Функция delay() помогает нам установить небольшую задержку, чтобы сборка не завершилась ошибкой.
3. Селеновый модуль
Одним из самых популярных инструментов автоматизации браузера с открытым исходным кодом является Selenium. Он доступен в виде пакета Python, поддерживающего различные браузеры, такие как Google Chrome, Microsoft Edge, Safari и Mozilla Firefox. Чтобы установить Selenium в вашей среде Python, откройте Терминал и выполнитьpip установить селен.
4. Вебдрайвер
Веб-драйвер — это инструмент, используемый Selenium, который устанавливает соединение между программой и любым веб-сайтом. Различные виды веб-драйверов доступны в зависимости от браузера, который вы хотите автоматизировать. Для этой сборки вы будете использовать браузер Google Chrome. Чтобы установить веб-драйвер для Chrome:
- Проверьте версию используемого браузера, посетив Меню (3 точки) >Помощь > О Google Chrome.
- Обратите внимание на версию браузера.
- Посетите страницу загрузок ChromeDriver — веб-драйвер для Chrome.
- Выберите вариант, который соответствует номеру вашей версии из текущих выпусков ChromeDriver.
- Выберите и загрузите файл в соответствии с вашей операционной системой.
- Извлеките загруженный файл и поместите его в ту же папку, что и ваша программа Python. Это будет полезно при установке пути во время кодирования.
Как проверить код для автоматизации любого аспекта веб-страницы
Для любого процесса веб-автоматизации с использованием Selenium и Python важно иметь базовое представление о сети и ее технологиях. Первый шаг – завоевать введение в HTML с последующим понимание каскадных таблиц стилей (CSS). Здесь вы познакомитесь с концепцией идентификаторов и классов.
Идентификаторы и классы — это уникальные имена, данные элементу или набору элементов (тегов) соответственно. Используя их, вы находите нужный элемент и указываете программе Python, что именно он должен быть нацелен на него. Чтобы проверить код и найти изображение профиля:
- Откройте веб-страницу учетной записи Instagram.
- Нажмите на браузер Меню > Дополнительные инструменты > Инструменты разработчика или используйте ярлык Ctrl + Shift + я чтобы активировать Инструменты разработчика Посмотреть.
- Нажмите и выберите Средство выбора элементов инструмент (значок курсора мыши) в левом углу окна и наведите его на любую часть веб-страницы, чтобы перейти к этому разделу кода.
- Важно отметить, что изображения профиля общедоступной учетной записи и частной учетной записи устанавливаются по-разному. Наведите курсор на изображение профиля общедоступной учетной записи. Атрибут класса для общедоступного профиля: _aa8j.
- Повторите вышеуказанный шаг для частного профиля. Атрибут класса _aadp.
Вы можете использовать эту процедуру, чтобы понять любую веб-страницу и выбрать любой элемент для автоматизации.
Как создать загрузчик фотографий профиля Instagram
Выполните следующие действия, чтобы создать загрузчик.
- Импортируйте необходимые модули в среду Python.
из селен импорт вебдрайвер
импорт время
импорт urllib.request - Используя функцию ввода, получите имя пользователя профиля, чье изображение профиля должно быть загружено, и сохраните его в переменной с именем имя пользователя.
#ввод имени пользователя профиля, изображение профиля которого должно быть загружено
имя пользователя = ввод ("Введите имя пользователя профиля: ") - Инициализируйте веб-драйвер, создав его объект и указав путь к его файловой системе.
#создание объекта chromedriver
cd='chromedriver.exe' - Использовать вебдрайвер. Хром функция для запуска браузера Google Chrome.
#открыть браузер гугл хром
драйвер = вебдрайвер. Хром(CD) - URL-адрес любой учетной записи Instagram имеет формат https://www.instagram.com/ за которым следует имя пользователя. Установите URL-адрес профиля как,
#установка URL
URL='https://www.instagram.com/'
url_p=url+user_h - Передайте полный URL-адрес профиля Instagram, который нужно посетить, в функцию get().
#открыть профиль
Водитель.получить(url_p) - Установите необязательную рекомендуемую задержку для полной загрузки веб-страницы.
#задержка загрузки содержимого страницы
время.спать(5) - Используйте блок try-except, чтобы найти и определить, принадлежит ли изображение профиля общедоступному профилю. Это делается с помощью атрибута класса в выражении XPath. В случае неудачи используйте блок кроме поиска для поиска аватарки личного аккаунта.
пытаться:
#если профиль общедоступный, искать изображение с классом _aa8j
изображение = драйвер.find_element_by_xpath ('//img[@class="_aa8j"]')
кроме:
#если профиль закрытый, искать изображение с классом _aadp
изображение = драйвер.find_element_by_xpath ('//img[@class="_aadp"]') - Используя get_attribute(), получите атрибут src изображения. Это возвращает ссылку на изображение.
# сохранить ссылку на скачивание изображения
img_link=image.get_attribute('источник') - Укажите путь и расширение загружаемого файла. Например, вы можете настроить загрузку изображения на диск D: вашей файловой системы в формате JPG как.
#установить путь к скачанному файлу
путь="Д:\\"+имя пользователя+".jpg" - Загрузите изображение, передав ссылку на изображение профиля в качестве источника и путь к локальной системной папке в качестве места назначения функции urlretrieve().
#загрузка изображения в нужное место
urllib.запрос.urlretrieve(img_link,дорожка) - Зайдите в папку и убедитесь, что изображение профиля было загружено. При желании вы также можете отобразить путь, по которому было загружено изображение профиля.
#отображаем путь к загруженному аватару
Распечатать("Изображение профиля было загружено по адресу: "+путь)
Окончательный исходный код для Instagram Profile Pic Downloader с использованием Python
Собрав все вместе, вы получите:
#импорт необходимых модулей
из селен импорт вебдрайвер
импорт время
импорт urllib.request
#ввод имени пользователя профиля, изображение профиля которого должно быть загружено
user_h = ввод ("Введите имя пользователя профиля: ")
#установка URL
URL='https://www.instagram.com/'
url_p=url+user_h
#создание объекта chromedriver
cd='chromedriver.exe'
#открой гугл
драйвер = вебдрайвер. Хром(CD)
#открыть профиль
Водитель.получить(url_p)
#задержка загрузки содержимого страницы
время.спать(5)
пытаться:
#если профиль общедоступный, искать изображение с классом _aa8j
изображение = драйвер.find_element_by_xpath ('//img[@class="_aa8j"]')
кроме:
#если профиль закрытый, искать изображение с классом _aadp
изображение = драйвер.find_element_by_xpath ('//img[@class="_aadp"]')
# сохранить ссылку на скачивание изображения
img_link=image.get_attribute('источник')
Приложения веб-автоматизации
Автоматизация не только помогает вам сэкономить время, деньги и усилия, но и гарантирует выполнение задач, предотвращая ошибки. Используйте эту технику, чтобы автоматизировать вход на различные веб-сайты, выполнять резервное копирование облачных серверов, планировать сообщения, поздравлять с днем рождения в социальных сетях, создавать сообщения, публиковать твиты и многое другое.