Ставьте лайки фотографиям в Instagram с использованием Selenium и Python.
Инстаграм — чрезвычайно успешная социальная сеть, насчитывающая более миллиарда участников. Это любимая платформа для ученых, маркетологов и разработчиков из-за ее мощного API и доступности данных. В этой статье с помощью 2-3 примеров мы рассмотрим, как программно ставить лайки фотографиям в Instagram с помощью Python и Selenium.
Имейте в виду, что эта информация носит исключительно инструктивный характер. Крайне важно соблюдать правила Instagram и воздерживаться от поведения, которое может быть расценено как спам.
Начало работы: установка и настройка
Прежде чем приступить к написанию кода, вам необходимо настроить среду. Нужны Python и Selenium. Python можно получить с официального сайта программы, а pip можно использовать для настройки Selenium:
pip install selenium
Кроме того, загрузите самую последнюю версию ChromeDriver, необходимого инструмента для взаимодействия Selenium с Chrome.
Использование Selenium для Instagram
Selenium — эффективный инструмент для удаленного управления веб-браузером. Он хорошо работает для таких действий, как нажатие и ввод текста, которые мы будем использовать для лайков фотографий в Instagram, требующих прямого контакта с браузером.
Использование Python и Selenium для лайкания изображений в Instagram
Пошаговое руководство по написанию скрипта Python для автоматического лайкания фотографий из Instagram представлено ниже —
Шаг 1. Импорт необходимых библиотек
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
Шаг 2: Получите доступ к Instagram
Нам необходимо зайти на сайт Инстаграм и авторизоваться, используя свои данные. С помощью Selenium мы можем автоматизировать эту процедуру −
driver = webdriver.Chrome('path_to_your_chromedriver')
driver.get('https://www.instagram.com/')
# Pause for 3 seconds to let the page load
time.sleep(3)
# Locate the username and password fields and input your credentials
username = driver.find_element_by_name('username')
username.send_keys('your_username')
password = driver.find_element_by_name('password')
password.send_keys('your_password')
# Click on the login button
password.send_keys(Keys.RETURN)
Шаг 3. Перейдите на нужную страницу.
Чтобы поставить лайк их изображениям, давайте теперь перейдем на конкретную страницу в Instagram. «instagram_page» следует заменить именем пользователя соответствующей страницы −
# Pause for 3 seconds to let the page load
time.sleep(3)
# Navigate to the specific Instagram page
driver.get('https://www.instagram.com/instagram_page')
Шаг 4. Поставьте лайк фотографиям
Сначала мы выберем каждое изображение на странице, а затем поставим лайк всем —
# Pause for 3 seconds to let the page load
time.sleep(3)
# Find all the picture elements on the page
pictures = driver.find_elements_by_class_name('_9AhH0')
for picture in pictures:
# Click on each picture
picture.click()
# Pause for 3 seconds to let the picture load
time.sleep(3)
# Click on the like button
like_button = driver.find_element_by_class_name('fr66n')
like_button.click()
# Close the picture
driver.find_element_by_class_name('Igw0E').click()
# Pause for 3 seconds before moving to the next picture
time.sleep(3)
Пара примеров
1. Лайки картинок по хэштегу
На последней иллюстрации мы зашли на страницу определенного пользователя. Давайте теперь посетим страницу с определенным хэштегом и поставим лайк изображениям там −
# Navigate to the specific Instagram hashtag page
driver.get('https://www.instagram.com/explore/tags/hashtag')
Далее процедура лайкинга выполняется так же, как и раньше:
# Pause for 3 seconds to let the page load
time.sleep(3)
# Find all the picture elements on the page
pictures = driver.find_elements_by_class_name('_9AhH0')
for picture in pictures:
# Click on each picture
picture.click()
# Pause for 3 seconds to let the picture load
time.sleep(3)
# Click on the like button
like_button = driver.find_element_by_class_name('fr66n')
like_button.click()
# Close the picture
driver.find_element_by_class_name('Igw0E').click()
# Pause for 3 seconds before moving to the next picture
time.sleep(3)
2. Ставить лайк только определенному количеству фотографий
Чтобы не показаться спамом, в некоторых случаях вы можете ограничить количество публикуемых изображений. Сценарий можно изменить так, чтобы он отображал только первые n фотографий на странице, как показано ниже −
# Define the number of pictures to like
num_pictures_to_like = 5
# Find all the picture elements on the page
pictures = driver.find_elements_by_class_name('_9AhH0')[:num_pictures_to_like]
for picture in pictures:
# Click on each picture
picture.click()
# Pause for 3 seconds to let the picture load
time.sleep(3)
# Click on the like button
like_button = driver.find_element_by_class_name('fr66n')
like_button.click()
# Close the picture
driver.find_element_by_class_name('Igw0E').click()
# Pause for 3 seconds before moving to the next picture
time.sleep(3)
Количество изображений, которые мы можем выбрать, в этом скрипте ограничено тем, что возвращаются только верхние n элементов из коллекции фотографий.
Заключение
Автоматизация взаимодействия с Instagram может принести большую пользу в различных ситуациях, таких как анализ данных и цифровой маркетинг. Однако, чтобы соблюдать конфиденциальность пользователей и правила использования Instagram, крайне важно использовать эти инструменты надлежащим образом.
Selenium и Python вместе предлагают мощный набор инструментов для веб-автоматизации. Примеры, использованные для иллюстрации данного руководства, лишь поверхностно отражают возможности этих технологий.