Share This
Связаться со мной
Крути в низ
Categories
//Создание Instagram-бота на Python

Создание Instagram-бота на Python

26.12.2021Category : Python

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

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

А наша статья совсем не об этом. Здесь мы создадим настоящий бот. Никакой проверки кода страниц Instagram (как это делают библиотеки selenium или beautiful soup) производится не будет.

Оглавление

  1. Установка библиотеки INSTABOT-PY
  2. Что наш Instagram-бот может делать?
  3. Написание кода
    1. Вход в Instagram аккаунт
    2. Получаем список подписчиков
    3. Загружаем фото при помощи Instarram-бота
  4. Заключение

Установка библиотеки INSTABOT-PY

В данной статье для создания Instagram-бота мы используем язык программирования Python 3.

Начнем с установки необходимой нам библиотеки при помощи команды pip.

# For Mac and Linux Users pip3 install instabot-py # For Windows Users pip install instabot-py

Эта команда установит библиотеку из репозитория PyPi.

Если вы хотите использовать исходный код из репозитория GitHub, то можно использовать следующую команду:

pip3 install git+https://github.com/instabot-py/instabot.py

Что наш Instagram-бот может делать?

Как уже говорилось выше, наш бот будет отличаться от ботов с логикой Selenium или Beautiful Soup, которая основана на вебскрейпинге. Наш бот сможет:

  • входить в аккаунт Instagram;
  • просматривать подписчиков и те аккаунты, на которые подписаны вы;
  • ставить лайки фото или видео;
  • подписываться на аккаунты или отписываться от них;
  • создавать комментарии и просматривать их.

Instabot — реально крутая библиотека. За более подробной информацией вы можете обратиться к ее документации.

sozdanie instagram bota na python 9c1a71e - Создание Instagram-бота на Python

Марк Лутц «Изучаем Python»

Скачивайте книгу у нас в телеграм

Скачать ×

Написание кода

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

Вход в Instagram

Мы начнем с импорта необходимой функции и после этого осуществим вход.

from instabot import Bot  bot = Bot() bot.login(username="instacodeblog", password="MY_SECTRET_PASSWORD_HERE")

Запустив этот код, вы увидите в терминале следующий результат:

2021-01-13 22:17:14,366 - INFO - Instabot version: 0.117.0 Started 2021-01-13 22:17:14,367 - INFO - Recovery from <PATH_TO_YOUR_PROJECT/config/instacodeblog_uuid_and_cookie.json: COOKIE True - UUIDs True - TIMING, DEVICE and ... - user-agent=Instagram 117.0.0.28.xxx Android (28/9.0; 420dpi; 1080x1920; OnePlus; ONEPLUS A3003; OnePlus3; qcom; en_US; 180xxx800) - phone_id=8f9xx80d-b0de-4ec1-9590-6280xxx34cf7 - uuid=22b5xx51-96bb-43b4-8ad1-b20c89dfxxxe - client_session_id=79bxx5b2-c73d-4fe7-b5eb-f05c7xxxxx8c - device_id=android-285xx1afebxxxbba 2021-01-13 22:17:14,368 - INFO - LOGIN FLOW! Just logged-in: False 2021-01-13 22:17:17,656 - INFO - Logged-in successfully as 'instacodeblog'! 2021-01-13 22:17:17,658 - INFO - Total requests: 49

Мы видим, что в этом результате все в порядке. Бот имитирует реальное устройство и производит вход. Видно, что логин был успешным.

Вы также можете видеть созданный каталог по имени config/. Там сохранена вся информация логов. Это поможет вам в отладке процесса.

Получаем подписчиков

Теперь давайте изменим приведенный выше код, чтобы получить список подписчиков. Все, что для этого нужно сделать, это добавить одну строку кода:

from instabot import Bot  bot = Bot() bot.login(username="instacodeblog", password="MY_SECTRET_PASSWORD_HERE") bot.get_user_followers('instacodeblog')

Теперь запустим данный код и получим следующий результат:

2021-01-13 22:17:17,366 - INFO - Instabot version: 0.117.0 Started 2021-01-13 22:17:17,367 - INFO - Recovery from <PATH_TO_YOUR_PROJECT/config/instacodeblog_uuid_and_cookie.json: COOKIE True - UUIDs True - TIMING, DEVICE and ... - user-agent=Instagram 117.0.0.28.xxx Android (28/9.0; 420dpi; 1080x1920; OnePlus; ONEPLUS A3003; OnePlus3; qcom; en_US; 180xxx800) - phone_id=8f9xx80d-b0de-4ec1-9590-6280xxx34cf7 - uuid=22b5xx51-96bb-43b4-8ad1-b20c89dfxxxe - client_session_id=79bxx5b2-c73d-4fe7-b5eb-f05c7xxxxx8c - device_id=android-285xx1afebxxxbba 2021-01-13 22:17:17,368 - INFO - LOGIN FLOW! Just logged-in: False 2021-01-13 22:17:17,656 - INFO - Logged-in successfully as 'instacodeblog'! Getting followers of 45038783390: 100%|███| 29/29 [00:01<00:00, 28.00it/s] 2021-01-13 22:17:17,658 - INFO - Total requests: 49

По сравнению с предыдущим результатом тут есть одна дополнительная строчка. Она показывает количество подписчиков у данной учетной записи Instagram (id #45038783390).

К сожалению, их всего 29.

Загружаем фото при помощи Instagram-бота

Пойдем дальше и выполним еще одну задачу. Давайте заставим нашего бота загрузить фото вместе с какой-нибудь классной подписью. В подпись мы добавим хэштег.

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

Это реально настоящая автоматизация, вы можете увидеть этот пост в Instagram и поставить ему лайк.

from instabot import Bot  bot = Bot() bot.login(username="instacodeblog", password="MY_SECTRET_PASSWORD_HERE") bot.upload_photo( 'Instagram_bot.jpg', caption='Create Instagram Bot in Python 3 using instabot-py Library. \n This Post is uploaded by the bot. You can check my blog for how to perform the task. \n\n #instacodeblog #instagrambot #instabot #bot #python #pythonproject #programming #fun')

Что ж, сделано. Вот и все, что нужно, чтобы загрузить фото в личный кабинет при помощи бота. Теперь вы можете планировать и автоматизировать ваши текущие задачи. Это будет отлично работать.

Результат в терминале будет иметь следующий вид:

2021-01-13 22:56:22,366 - INFO - Instabot version: 0.117.0 Started 2021-01-13 22:56:22,367 - INFO - Recovery from <PATH_TO_YOUR_PROJECT/config/instacodeblog_uuid_and_cookie.json: COOKIE True - UUIDs True - TIMING, DEVICE and ... - user-agent=Instagram 117.0.0.28.xxx Android (28/9.0; 420dpi; 1080x1920; OnePlus; ONEPLUS A3003; OnePlus3; qcom; en_US; 180xxx800) - phone_id=8f9xx80d-b0de-4ec1-9590-6280xxx34cf7 - uuid=22b5xx51-96bb-43b4-8ad1-b20c89dfxxxe - client_session_id=79bxx5b2-c73d-4fe7-b5eb-f05c7xxxxx8c - device_id=android-285xx1afebxxxbba 2021-01-13 22:56:22,368 - INFO - LOGIN FLOW! Just logged-in: False 2021-01-13 22:56:22,656 - INFO - Logged-in successfully as 'instacodeblog'! FOUND: w:717 h:717 r:1.0 2021-01-13 22:56:22,691 - INFO - Photo 'Instagram_bot.jpg' is uploaded. 2021-01-13 22:56:22,693 - INFO - Total requests: 63

Убедитесь, что ваше изображение квадратного размера. Также, в данном случае изображение находится в том же каталоге, что и файл с кодом.

От редакции Pythonist. Также рекомендуем статьи:

  • Создание Telegram бота на Python для признаний в любви
  • Бот для Instagram на Python
  • Telegram бот на Python для генерации случайных цитат

Заключение

Мы только что узнали, как создавать настоящие, мощные и классные Instagram-боты на Python 3 при помощи библиотеки instabot-py. Мы увидели, как с помощью данных ботов можно входить в аккаунт, смотреть количество подписчиков и загружать фото в Instagram.

Перевод статьи «INSTAGRAM BOT IN PYTHON 3 USING INSTABOT-PY LIBRARY«.

  • 1 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Свежие комментарии

    Рубрики

    About Author 01.

    blank
    Roman Spiridonov

    Моя специальность - Back-end Developer, Software Engineer Python. Мне 39 лет, я работаю в области информационных технологий более 5 лет. Опыт программирования на Python более 3 лет. На Django более 2 лет.

    Categories 05.

    © Speccy 2022 / All rights reserved

    Связаться со мной
    Close