Рубрики
Без рубрики

Instagram bot.

Aletisunil / Automate-Instagram … Теги с WebDev, Python, производительностью, учебником.

Алетисунил/Instagram-Bot

Автоматизация Instagram.

Предпосылки:

Изначально нам нужен 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”