Алетисунил/Instagram-Bot
Автоматизация Instagram.
Предпосылки:
- Селен
- Питон
- WebDriver
Изначально нам нужен Selenium для автоматизации, и мы можем проверить, выполнив команды в вашим монтажам Python или редакторов кода
import selenium print selenium.__version__
Далее нам нужно установить WebDriver, и вы можете выбрать либо Google Chrome, либо Mozilla Firefox Webdriver И я дал ссылку на установку Chrome WebDriver.
И теперь давайте копаем код Шаг 1: Нам нужно импортировать WebDriver и Keys from Selenium, эти клавиши используются для отправки имени пользователя и пароля в полях ввода. Импорт спать от времени
Шаг 2: Создайте класс, который принимает имя пользователя, пароль и другой идентификатор пользователя, которому вы хотите понравиться сообщения И Далее вам нужно найти WebDriver и назначить переменной, в моем случае моя Webdriver находится в «/пользователях/Aleti Sunil/Downloads/Chromedriver_win32/ChromedRiver.exe»
Шаг 3: Для того, чтобы открыть Instagram, нам нужно использовать Driver.get
команда А для ввода полей имени пользователя и пароля нам нужно найти поле ввода с помощью XPath, driver.find_element_by_xpath
команда Чтобы нажать кнопку или любую ссылку, мы используем функцию Click ().
Шаг 4: После успешного входа в систему нам нужно войти в профиль человека, к которым мы хотим понравиться посты, и это можно сделать Driver.get («
https://www.instagram.com/”+otheruseerid )
После входа в профиль пользователя нам нужно получить количество сообщений, чтобы мы могли повторять посты.
Шаг 5: Нам нужно вытащить последний пост от своего профиля, используя ClassName или XPath, я использовал классное значение, чтобы вытащить пост driver.find_element_by_class_name ("_ 9ahth0")
Для подобных постов нам нужно получить xpath к тому, что кнопка driver.find_element_by_xpath ('/html/body/div [4]/div [2]/div/article/div [2]/Раздел [1]/span [1]/кнопка')
А для итерации по другим посты нам нужно найти XPath для «следующей» кнопки, так что этот бот может проиграть до последнего поста.
Шаг 6: Вам необходимо войти в свое имя пользователя, пароль и имя пользователя другого человека, которому вы хотите любить Ex: Instabot ('abcxcwe', 'dfasd32963', 'capdt') # Имя пользователя, пароль, имя пользователя другого человека
Я добавил команды сна, так что эта страница загружается на время, иначе ошибка брошена.
И вот код Python и видео демонстрация
from selenium import webdriver from selenium.webdriver.common.keys import Keys from time import sleep from re import sub from decimal import Decimal class Instabot: def __init__(self,username,password,OtherUserId): self.driver=webdriver.Chrome("/Users/Aleti Sunil/Downloads/chromedriver_win32/chromedriver.exe") self.driver.maximize_window() self.driver.get("https://www.instagram.com/") sleep(2) self.driver.find_element_by_xpath("//input[@name=\"username\"]").send_keys(username) self.driver.find_element_by_xpath("//input[@name=\"password\"]").send_keys(password) self.driver.find_element_by_xpath("//button[@type=\"submit\"]").click() sleep(10) self.driver.find_element_by_xpath("//button[text()='Not Now']").click() sleep(5) self.driver.get("https://www.instagram.com/"+OtherUserId) posts = self.driver.find_element_by_xpath("/html/body/div/section/main/div/header/section/ul/li/span/span").text posts = Decimal(sub(r'[^\d.]', '', posts)) print(posts) pic = self.driver.find_element_by_class_name("_9AhH0") pic.click() sleep(2) like = self.driver.find_element_by_xpath('/html/body/div[4]/div[2]/div/article/div[2]/section[1]/span[1]/button') like.click() nextPic = self.driver.find_element_by_xpath('/html/body/div[4]/div[1]/div/div/a') nextPic.click() print("success") sleep(2) for i in range(int(posts-1)): like = self.driver.find_element_by_xpath('/html/body/div[4]/div[2]/div/article/div[2]/section[1]/span[1]/button') sleep(2) like.click() sleep(2) nextPic = self.driver.find_element_by_xpath('/html/body/div[4]/div[1]/div/div/a[2]') nextPic.click() sleep(2) sleep(20) Instabot('abcxcwe','dfasd32963','capdt') #Username,password,Username of other person
P.S: Если сообщение уже понравилось, он будет не понравился, и вам нужно, по крайней мере, некоторые базовые знания XPath, чтобы вы могли иметь четкий вырезанный вид кода.
Если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать.
Оригинал: “https://dev.to/sunilaleti/automating-instagram-50ke”