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

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

Процесс построения алгоритма

Построение алгоритма относится к процессу выявления проблемы и составления списка шагов, которые программа должна автоматизировать. Различные шаги, необходимые для загрузки изображения профиля:

  1. Возьмите имя пользователя профиля в качестве входных данных
  2. Откройте Google Chrome
  3. Посетите профиль в Instagram
  4. Загрузите изображение профиля

Это служит алгоритмом постановки задачи.

В этом проекте используются следующие модули и инструменты 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:

  1. Проверьте версию используемого браузера, посетив Меню (3 точки) >Помощь > О Google Chrome.
  2. Обратите внимание на версию браузера.
  3. Посетите страницу загрузок ChromeDriver — веб-драйвер для Chrome.
  4. Выберите вариант, который соответствует номеру вашей версии из текущих выпусков ChromeDriver.
  5. Выберите и загрузите файл в соответствии с вашей операционной системой.
  6. Извлеките загруженный файл и поместите его в ту же папку, что и ваша программа Python. Это будет полезно при установке пути во время кодирования.

Как проверить код для автоматизации любого аспекта веб-страницы

Для любого процесса веб-автоматизации с использованием Selenium и Python важно иметь базовое представление о сети и ее технологиях. Первый шаг – завоевать введение в HTML с последующим понимание каскадных таблиц стилей (CSS). Здесь вы познакомитесь с концепцией идентификаторов и классов.

Идентификаторы и классы — это уникальные имена, данные элементу или набору элементов (тегов) соответственно. Используя их, вы находите нужный элемент и указываете программе Python, что именно он должен быть нацелен на него. Чтобы проверить код и найти изображение профиля:

  1. Откройте веб-страницу учетной записи Instagram.
  2. Нажмите на браузер Меню > Дополнительные инструменты > Инструменты разработчика или используйте ярлык Ctrl + Shift + я чтобы активировать Инструменты разработчика Посмотреть.
  3. Нажмите и выберите Средство выбора элементов инструмент (значок курсора мыши) в левом углу окна и наведите его на любую часть веб-страницы, чтобы перейти к этому разделу кода.
  4. Важно отметить, что изображения профиля общедоступной учетной записи и частной учетной записи устанавливаются по-разному. Наведите курсор на изображение профиля общедоступной учетной записи. Атрибут класса для общедоступного профиля: _aa8j.
  5. Повторите вышеуказанный шаг для частного профиля. Атрибут класса _aadp.

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

Как создать загрузчик фотографий профиля Instagram

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

  1. Импортируйте необходимые модули в среду Python.
    из селен импорт вебдрайвер
    импорт время
    импорт urllib.request
  2. Используя функцию ввода, получите имя пользователя профиля, чье изображение профиля должно быть загружено, и сохраните его в переменной с именем имя пользователя.
    #ввод имени пользователя профиля, изображение профиля которого должно быть загружено 
    имя пользователя = ввод ("Введите имя пользователя профиля: ")
  3. Инициализируйте веб-драйвер, создав его объект и указав путь к его файловой системе.
    #создание объекта chromedriver 
    cd='chromedriver.exe'
  4. Использовать вебдрайвер. Хром функция для запуска браузера Google Chrome.
    #открыть браузер гугл хром 
    драйвер = вебдрайвер. Хром(CD)
  5. URL-адрес любой учетной записи Instagram имеет формат https://www.instagram.com/ за которым следует имя пользователя. Установите URL-адрес профиля как,
    #установка URL
    URL='https://www.instagram.com/'
    url_p=url+user_h
  6. Передайте полный URL-адрес профиля Instagram, который нужно посетить, в функцию get().
    #открыть профиль 
    Водитель.получить(url_p)
  7. Установите необязательную рекомендуемую задержку для полной загрузки веб-страницы.
    #задержка загрузки содержимого страницы
    время.спать(5)
  8. Используйте блок try-except, чтобы найти и определить, принадлежит ли изображение профиля общедоступному профилю. Это делается с помощью атрибута класса в выражении XPath. В случае неудачи используйте блок кроме поиска для поиска аватарки личного аккаунта.
    пытаться:
    #если профиль общедоступный, искать изображение с классом _aa8j
    изображение = драйвер.find_element_by_xpath ('//img[@class="_aa8j"]')
    кроме:
    #если профиль закрытый, искать изображение с классом _aadp
    изображение = драйвер.find_element_by_xpath ('//img[@class="_aadp"]')
  9. Используя get_attribute(), получите атрибут src изображения. Это возвращает ссылку на изображение.
    # сохранить ссылку на скачивание изображения 
    img_link=image.get_attribute('источник')
  10. Укажите путь и расширение загружаемого файла. Например, вы можете настроить загрузку изображения на диск D: вашей файловой системы в формате JPG как.
    #установить путь к скачанному файлу 
    путь="Д:\\"+имя пользователя+".jpg"
  11. Загрузите изображение, передав ссылку на изображение профиля в качестве источника и путь к локальной системной папке в качестве места назначения функции urlretrieve().
    #загрузка изображения в нужное место
    urllib.запрос.urlretrieve(img_link,дорожка)
  12. Зайдите в папку и убедитесь, что изображение профиля было загружено. При желании вы также можете отобразить путь, по которому было загружено изображение профиля.
    #отображаем путь к загруженному аватару 
    Распечатать("Изображение профиля было загружено по адресу: "+путь)

Окончательный исходный код для 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('источник')

Приложения веб-автоматизации

Автоматизация не только помогает вам сэкономить время, деньги и усилия, но и гарантирует выполнение задач, предотвращая ошибки. Используйте эту технику, чтобы автоматизировать вход на различные веб-сайты, выполнять резервное копирование облачных серверов, планировать сообщения, поздравлять с днем ​​рождения в социальных сетях, создавать сообщения, публиковать твиты и многое другое.