Бот для Instagram на Python
Instagram – самое удобное приложение для общения в социальных сетях в наше время. В силу его популярности там ежесекундно сохраняется множество данных. Все слышали об Instagram. Он помогает нам охватить большую аудиторию, получить больше подписчиков и лайков. Но вы хотя бы пальцем пошевелили, чтобы автоматизировать процессы? В этой статье мы вам расскажем, как написать бот для Instagram на Python, с применением Instagram API и опенсорс-модуля InstaPy.
В этом руководстве вы узнаете:
Установка
В вашей операционной системе должна быть установлена последняя версия Python. Установив или обновив ее, выполните следующую команду в командной строке:
pip install instapy
Основы InstaPy
Для начала давайте рассмотрим, как войти в Instagram с помощью модуля InstaPy.
Марк Лутц «Изучаем Python»
Скачивайте книгу у нас в телеграм
Особенности InstaPy
В InstaPy есть множество полезных функций, некоторые из которых мы обсудим в этой статье. Вот список возможностей данной библиотеки:
Лайки
С помощью специальных методов в Instagram можно лайкнуть что-нибудь. У InstaPy есть 3 способа поставить лайк.
Лайки по тегу
Метод лайка по тегу like_by_tags() принимает два аргумента. Первый должен быть в форме списка тегов, по которым мы хотим поставить лайк. Второй – количество лайков. Бот будет искать заданные теги в Instagram и ставить лайки посту, который он нашел в окне результатов.
Лайки по местоположению
Лайки по ленте
Метод лайков по ленте используется для того, чтобы ставить лайки на ваши собственные публикации в ленте. Метод like_by_feed() принимает 4 аргумента.
Подписка
У InstaPy есть методы подписки, которые можно использовать, чтобы подписаться на пользователей в Instagram. Данный метод делится на подметоды со множеством функций отслеживания. Давайте рассмотрим все по порядку.
Подписка по тегу
Функция follow_by_tag() служит для подписки на пользователей на основе хэштегов. Лайки она не ставит. Эта функция полезна, когда вы хотите подписаться на пользователей с определенными интересами. Метод follow_by_tags() принимает два аргумента в качестве параметров: список строк (теги) и количество.
Подписка по списку
Как видно из названия, данный метод ориентируется на список пользователей, который в него передается.
Метод follow_by_list() принимает 4 аргумента в качестве параметров: строковый список пользователей, время, sleep_delay и interacts (принимает значения True или False ). Последний аргумент будет полезен для точного таргетинга.
Метод подписывается на пользователя только один раз (если отписаться снова).
sleep_delay используется для определения времени перерыва после некоторого числа подписок подряд, в среднем после 10 подписок.
Этот метод полезен, если нужно получить ответную подписку от фолловеров выбранного аккаунта или группы аккаунтов.
Подписка на чьих-то подписчиков
Подписка на пользователей, которые поставили лайк посту
Данный метод follow_likers() будет подписываться на людей, которые лайкнули фотографии определенного списка пользователей.
Для этого метода требуется 5 аргументов. photo_grab_amount – количество фотографий, которые берутся из профиля пользователя для анализа лайкнувших.
follow_likers_per_photo – количество людей, на которых нужно подписаться, для каждой фотографии.
Подписка на пользователей, которые оставили комментарий
Отписка
Отписаться от пользователей, которые не подписаны на вас
Используя данный метод, ваш бот отменит подписку на пользователей, которые не подписываются на вас в ответ. Это будет полезно для отмены подписки на пользователей, на которых вы подписаны, но они почему-то не подписались на вас.
Аргумент unfollow_after заставит нашего бота отписаться от пользователя, который не подписался на вас за указанное время.
Отписка от любого пользователя
Этот метод можно использовать для отмены подписки на пользователя, независимо от того, подписан ли пользователь на вас.
Метод unfollow_users() принимает 5 аргументов. Аргумент unfollow_after используется, чтобы сообщить боту, через сколько минут или часов нужно отменить подписку.
Важные особенности библиотеки InstaPy
Мы обсудили основные функции ботов Instagram. Однако InstaPy не ограничивается этими функциями, у нее есть некоторые дополнительные функции, которые тоже могут быть полезны. Например:
Итак, давайте приступим!
Умные хэштеги
С помощью метода set_smart_hashtags() можно генерировать умные хэштеги на основе рейтинга https://displaypurposes.com. В результате отфильтровываются забаненные хэштеги и спам-теги. После вы можете использовать полученные «умные» хэштеги, чтобы лайкать и комментировать сообщения.
Игнорирование пользователей
Этот метод позволит полностью игнорировать пользователей: бот не будет лайкать их изображения, подписываться на них или даже комментировать их посты. Метод set_ignore_users() принимает в качестве аргумента список, который содержит ники пользователей в виде строк. Как следствие, эти пользователи и будут игнорироваться.
Игнорирование по ограничению
Данный метод позволит игнорировать посты, в которых есть переданные в метод слова. Метод set_ignore_if_contains() проверит, есть ли в изображениях/видео какие-либо слова, похожие на заданные. Если таковые встречаются, данный пост будет проигнорирован – его не будут лайкать или оставлять комментарий.
Исключение друзей
Заключение
Итак, мы разобрали, как написать бот для Instagram на Python. Мы рассмотрели большинство функций InstaPy, однако путешествие по Instagram-ботам на этом не заканчивается. О других доступных функциях можно почитать в официальной документации InstaPy. Эта статья просто дает вам общее понимание работы модуля InstaPy. Кроме того, каждый из вас может изменить эти методы и добавить новые, чтобы создать своего собственного бота для Instagram.
Надеемся, эта статья оказалась для вас полезной. Успехов в написании кода!
Как написать Instagram бота на Python и InstaPy
В этой статье вы узнаете:
И так, прежде чем мы начнем создавать Instagram боты, сначала рассмотрим как они работают.
Важное замечание: Обязательно ознакомьтесь с Условиями использования Instagram, прежде чем применять какие-либо методы автоматизации или скрапинга.
Как работают Instagram боты
Как сценарий автоматизации поможет получить нам больше подписчиков и лайков? Прежде чем ответить на этот вопрос, подумайте о том, как реальные люди приобретают большее число своих подписчиков и лайков.
Они делают это, будучи постоянно активными на целевой платформе. Они часто публикуют посты, подписываются на обновления аккаунтов других людей, а также ставят лайки и оставляют комментарии к постам других людей. И боты работают точно так же: они подписываются, ставят лайки и самостоятельно добавляют комментарии в соответствии с установленными вами критериями.
Чем оптимальнее определены эти критерии, тем лучше будут результаты. Вы должны убедиться, что подписаны на нужные группы, так как в этом случае люди, с которыми ваш бот взаимодействует в Instagram, с большей вероятностью будут взаимодействовать с вашим контентом.
Как же это работает с технической точки зрения? Для этих целей нам совершенно не подходит Instagram Developer API, так как его возможности весьма ограничены.
И так приступим к непосредственно автоматизации работы браузера. Она будет осуществляться следующим образом:
Далее мы создадим первоначальную версию своего Instagram бота, которая будет автоматически входить в ваш профиль. Обратите внимание, пока мы не будете использовать библиотеку InstaPy.
Автоматизируем работу браузера
Для разработки простейшей версии нашего Instagram бота мы будем использовать Selenium, инструмент для тестирования web интерфейсов, который по факту InstaPy использует «под капотом».
Для начала работы сначала установите Selenium. При его установке убедитесь, что вы также установили Firefox WebDriver, поскольку последняя версия InstaPy перестала поддерживать Chrome. Это также означает, что на вашем компьютере должен быть установлен браузер Firefox.
Теперь создадим файл со следующим Python кодом:
Запустим наш код на выполнение, и вы увидим, что открывается окно браузера Firefox, который самостоятельно переходит на страницу входа в Instagram. Вот построчный разбор этого кода:
Это Selenium версия классического Hello, World. Теперь мы готовы добавить в файл код, который позволит боту входить в ваш Instagram профиль. Но сначала подумаем о том, что необходимо сделать для того, чтобы войти в свой профиль. Для этого вы бы сделали следующее:
Код в нашем файле уже позволяет сделать первый шаг. Теперь изменим его так, чтобы для входа в профиль он эмулирует клик мыши по ссылке на главной странице Instagram:
Обратите внимание на следующие строки нашего кода:
Давайте запустим наш скрипт, и посмотрим на результат его выполнения. Сначала откроется окно браузера, и он перейдет по адресу Instagram, а затем по ссылке на страницу входа в профиль.
На странице входа login page расположены три нужных нам элемента:
Изменим наш скрипт таким образом, чтобы он находил эти элементы, вводил наши учетные данные, а затем нажал кнопку входа в профиль:
Посмотрим, что изменилось в нашем коде:
И так мы хорошо начали с написания своего бота в Instagram. Если вы продолжите писать этот скрипт, то все остальные манипуляции с вашим профилем будут выглядеть очень похожи. Чтобы найти «понравившиеся» сообщения, прокрутите вниз вашу ленту постов, найдите кнопку «Нравится» по ее селектору CSS, нажмите на нее, найдите элемент раздела комментариев, оставьте комментарий и далее продолжайте в том же направлении.
Как использовать шаблон объекта страницы
Теперь, когда вы написали код для входа в ваш профиль, то как бы вы могли написать простейший тест для его проверки? И это могло бы выглядеть примерно так:
Посмотрим, что не так с этим кодом? В нем не соблюдается принципу DRY. То есть код дублируется как в приложении, так и в тестовом коде.
Дублирование кода особенно плохо в том контексте, что написание кода с использованием Selenium зависит от элементов пользовательского интерфейса, а их состав и тип имеет тенденцию меняться в зависимости от конкретной загружаемой страницы. И когда они меняются, то есть вы загружаете другую страницу, то вам нужно обновить код только в одном месте, а не в нескольких. Вот для чего используется шаблон объекта Page.
С помощью этого шаблона вы можете создать отдельные классы объектов страниц для наиболее важных страниц или их фрагментов, которые предоставляют интерфейсы для взаимодействия с ними, просты для дальнейшей модификации, а также скрывают особенности их реализации, что в конечном счете повышает читаемость кода. Имея это в виду, перепишем приведенный выше код и создадим классы HomePage и LoginPage для соответствующих страниц:
Этот код выполняет те же функции, что и разработанный нами ранее скрипт, за исключением того, что теперь домашняя страница и страница входа в профиль представлены в виде классов. Классы инкапсулируют всю логику наших действий, необходимую для поиска и манипулирования данными пользовательского web-интерфейса. То есть в них реализованы методы, а так же средства доступ к данным, которые позволяют программному обеспечению, в нашем случае, делать все то, что делает человек находясь в своем профиле.
Далее вы можете использовать наш код, написанный с использованием шаблона объекта страницы, следующим образом:
Это выглядит намного лучше, и тест нашего кода из примера выше можно переписать так:
С усовершенствованиями нашего бота, изменения в его коде не затронут код тестов, даже если что-то изменится в пользовательском интерфейсе.
Теперь, когда вы знакомы как с Selenium, так и с шаблоном объекта страницы, то будете уверенно чувствовать себя при работе с InstaPy. В следующем разделе мы наконец-то рассмотрим процесс написания нашего Instagram бота в окончательном виде.
Примечание. Selenium и шаблон Pattern Object Page широко используются для автоматизации работы с другими веб-сайтами, а не только для Instagram.
Как создать Instagram бота с InstaPy
В этом разделе мы будете использовать InstaPy при создания бота для автоматизации рутинных задач в Instagram, который будет автоматически подписываться на других пользователей, отслеживать их посты, а также комментировать их. Для начала нужно установить InstaPy:
Эти команды установят instapy в вашей системе.
Особенности использования InstaPy
Теперь мы можем переписать код выше, применив для этого библиотеку InstaPy, и затем сравним его два варианта. Для этого сначала создадим другой файл Python и поместим в него следующий код:
Замените и вашими данными: логином и паролем, а затем запустите этот скрипт. Вуаля! Всего одной строкой кода вы достигли того же результата, что и разработанный нами выше бот.
Теперь проанализируем полученный результат. Даже если полученные нами результаты одинаковы, то вы можете заметить, что их поведение не совсем то же самое. Помимо простого входа в ваш профиль, InstaPy выполняет и другие действия, такие как проверка состояния вашего интернет-соединения и состояния серверов Instagram. Это можно непосредственно наблюдать прямо в браузере или в логах:
Довольно неплохо для всего лишь одной строки кода, не так ли? Теперь пришло время заставить скрипт делать больше интересных и полезных вещей, чем просто вход в систему.
Для следующего примера предположим, что ваш профиль посвящен автомобилям, и ваш бот предназначен для взаимодействия с профилями людей, которые также интересуются автомобилями.
В строке 5 мы передали методу like_by_tags() список тегов, а также количество постов для каждого указанного тега, которым мы собираемся поставить лайки. В нашем примере мы указали, что мы должны поставить лайки десяти постам, по пять для каждого из двух тегов. Посмотрим, что произойдет после запуска этого скрипта:
По умолчанию InstaPy понравятся первые девять главных сообщений в дополнение к вашей amount ценности. В этом случае общее число лайков на тег увеличивается до четырнадцати (девять топ-сообщений плюс пять, указанных вами amount ).
Обратите внимание, InstaPy логирует каждое действие, которое предпринимает, а также результат его выполнения. И как вы можете заметить из примера лога выше, в нем фиксируется, какой публикации был поставлен лайк Like, ссылка на нее Link, описание Description, местоположение Location, а также прокомментировал ли наш бот этот пост или подписался на канал этого автора.
Возможно, вы заметили, что после почти каждого действия скрипт задерживает свое выполнение на определенное время. Все нормально так и было задумано. Этот приём предотвращает блокировку вашего профиля в Instagram, то есть происходит имитация действий человека, который физически, в отличие от нашего бота, не может мгновенно переходить по ссылкам.
В дальнейшем вы, вероятно, не захотите, чтобы ваш бот ставил лайки постам с неподходящей для вас тематикой. Чтобы этого не случилось, вы можете использовать метод set_dont_like() :
Далее, вы можете указать нашему боту, чтобы он не только ставил лайки постам, но и подписывался на каналы их авторов. Вы можете сделать это воспользовавшись методом set_do_follow() :
Если мы запустим этот скрипт, то бот будет подписываться на пятьдесят процентов пользователей, чьим постам он уже поставил лайки. И как обычно, информация о каждом его действии будет ведено в лог.
Вы также можете оставить свои комментарии к постам. Для этого необходимо сделать две вещи. Сначала включим опцию комментирования с помощью метода set_do_comment() :
Далее укажем нашему боту, какие комментарии оставлять set_comments() :
Запустите этот скрипт на выполнение, и бот оставит один из этих трех комментариев на половине постов, которые он просмотрит.
Теперь, когда мы закончили с основными настройками нашего бота, хорошей идеей будет завершить сеанс работы end() :
Этот код закроет браузер, сохранит логи работы нашего бота и подготовит отчет, который вы увидите в консоли.
Дополнительные функции InstaPy
Управляем квотами бота
Вы не можете работать в Instagram целый день, днями на пролет. Сервис скоро заметит, что вы пользуетесь ботом, и начнет блокировать некоторые из его действий. Вот почему было бы неплохо установить квоты на определенные действия нашего бота. Возьмем, к примеру, следующий пример кода:
Теперь наш бот будет комментировать посты, пока не достигнет своего часового peak_comments_hourly и дневного peak_comments_daily лимита. И возобновит комментирование после истечения периода квоты.
Headless браузер
Эта функциональная возможность позволяет запускать наш бот без графического интерфейса браузера. Это очень важно, если вы хотите развернуть его для работы на сервере, где вам совершенно не нужен графический интерфейс. Так же в этом случае он требует меньше ресурсов процессора, поэтому повышается его производительность. Этот режим работы библиотеки включается следующим образом:
Обратите внимание, что вы устанавливаете флаг headless_browser при инициализации нового экземпляра объекта InstaPy.
Используем AI для анализа содержания постов
Ранее мы уже рассмотрели, как можно игнорировать посты, в тексте которых содержаться неподходящие слова или словосочетания. Но что если содержимое поста подходящее, а само изображение неуместно или не соответствует смыслу содержимого поста? Вы можете интегрировать нашего, написанного на InstaPy, бота с ClarifAI, сервисом который предлагает услуги по распознаванию изображений и видео:
Теперь ваш бот не будет ставить лайки или комментировать любые изображения, которые ClarifAI посчитает NSFW. При его использовании вы получаете 5000 бесплатных обращений его API в месяц.
Ограничиваем число контактов
Часто работа с профилями, а также обработка постов людей, у которых слишком много подписчиков, является пустой тратой времени. В таких случаях рекомендуется установить некоторые граничное число контактов пользователя, чтобы наш бот не тратил свои драгоценные вычислительные ресурсы для работы с ними:
Теперь наш бот не будет взаимодействовать с постами пользователей, у которых более 8500 подписчиков.
Для ознакомления с другими полезными и интересными функциями InstaPy и настройками ботов, ознакомьтесь с документацией.
Заключение
InstaPy позволяет автоматизировать ваши действия в Instagram с минимальными затратами и усилиями. Это очень гибкий инструмент с множеством полезных функций.
Из этой статье вы узнали:
Почитайте документацию InstaPy и поэкспериментируйте с нашим ботом. Вскоре вы начнете приобретете больше новых подписчиков и лайков с минимальными усилиями. Я и сам приобрел несколько новых подписчиков, пока писал эту статью:)
Пишем бота для Instagram на Python
furry.cat
Чтобы охватить большую аудиторию в Instagram, получить больше лайков и новых подписчиков, мы обращаемся за помощью к специалистам: SocialCaptain, Kicksta, Instavast и другим компаниям. У них есть автоматизированные инструменты, которые делают за вас всю работу. За это мы платим большие деньги – но то же самое можно получить бесплатно, используя InstaPy.
Как устроены боты Instagram
Прежде чем начинать автоматизировать что-либо, давайте подумаем, как получает лайки и подписки в Instagram реальный пользователь?
За счет активности. Человек размещает посты, просматривает ленту, лайкает и комментирует посты других людей. Боты делают то же самое, но не тратя ваше время. Вы лишь устанавливаете критерии выбора.
Но как реализовать это технически? Instagram Developer API ограничен и не подойдет для наших целей. Следует обратиться к браузерной автоматизации.
Это работает очень просто:
Давайте перейдем к практике. Для начала напишем бота, который сможет самостоятельно зайти в ваш Instagram-профиль.
Автоматизация браузера
Для первой версии бота будем использовать Selenium – инструмент, работающий под капотом InstaPy, к которому мы перейдем чуть позже.
Для начала установите сам Selenium. Убедитесь, что на вашем компьютере установлен браузер Firefox и Firefox WebDriver. Мы будем работать с этим браузером, так как в последней версии InstaPy нет поддержки Chrome.
Для работы Selenium вам также может понадобиться установить geckodriver.
1. Открываем браузер
Сначала мы импортируем нужные пакеты. Затем инициализируется драйвер Firefox и запускается браузер. Бот набирает в адресной строке адрес https://www.instagram.com/ – открывается страница авторизации Instagram. Через 5 секунд ожидания браузер закрывается. Запустите код и проверьте, как он работает. Только что мы написали в своем роде «Hello world» на Selenium.
2. Открываем страницу авторизации
Добавим авторизацию. Для начала составим пошаговый алгоритм действий:
Первый пункт мы уже выполнили. Давайте теперь найдем на странице ссылку для авторизации и кликнем по ней:
Мы используем для поиска нужной ссылки XPath, но есть и другие методы.
Запустите скрипт и убедитесь, что он работает. В браузере должна открыться страница авторизации.
3. Заполнение формы
В форме авторизации – три важных элемента:
Давайте найдем их, введем учетные данные и залогинимся:
Устанавливаем двухсекундную задержку для загрузки страницы. Находим и заполняем нужные поля. В конце ищем и нажимаем кнопку для входа.
Если вы укажете правильные данные и запустите этот скрипт, он самостоятельно авторизуется в вашем Instagram аккаунте.
Мы отлично начали, и при желании легко можем продолжить создавать бота. Дальнейшие действия очень похожи на уже сделанные: прокручиваем ленту вниз, ищем интересные посты по определенным критериями, ищем кнопку для лайка и нажимаем на нее, ищем раздел с комментариями и т. д.
Хорошая новость – все эти шаги за вас может сделать InstaPy. Но прежде чем мы начнем с ним работать, давайте разберемся в основах – паттерне Page Object.
Шаблон Page Object
Что не так с этим кодом? Он не соответствует принципу DRY и идеям чистого кода: одни и те же фрагменты дублируются и в приложении, и в тесте.
В этом контексте дублирование кода особенно плохо, так как Selenium зависит от элементов пользовательского интерфейса, а они имеют тенденцию меняться. Если это происходит, хотелось бы вносить изменения только в одном месте, а не в десятке. Здесь и приходит на помощь шаблон Page Object.
С помощью этого шаблона вы создаете классы page objects для наиболее важных страниц или фрагментов страницы, которые предоставляют удобные интерфейсы для взаимодействия.
Мы можем отрефакторить наш код и создать класс HomePage и класс LoginPage :
Логика осталась без изменений, только теперь домашняя страница и страница входа представлены в виде классов. Они инкапсулируют все действия, необходимые для поиска и обработки данных в пользовательском интерфейсе.
Изменим основной код:
Теперь программа выглядит намного проще и понятнее. Тесты тоже можно переписать:
Если в интерфейсе что-то изменится, не придется менять тесты – и это правильно.
Чтобы узнать больше о шаблоне Page Object, обратитесь к официальной документации и статье Мартина Фаулера.
А мы переходим к созданию бота версии 2.0 – с помощью InstaPy.
Создание бота с помощью InstaPy
Для начала установим InstaPy:
Авторизация в Instagram
Перепишем код с использованием InstaPy:
Подставьте правильный логин и пароль и запустите скрипт. Вуаля! Одна строчка кода – а результат тот же самый!
На самом деле, не тот же самый. Instapy выполняет множество других действий: проверяет интернет-соединение, состояние серверов Instagram и пр. Все это вы можете наблюдать напрямую в браузере, а также в логах.
Неплохо для одной строки кода, правда? Переходим к решительным действиям!
Основные настройки бота
Предположим, что ваш профиль посвящен автомобилям. Вы хотите, чтобы бот взаимодействовал с профилями людей, интересующихся автомобилями.
Лайки
Мы передаем методу массив тегов, которые нужно лайкнуть, и количество постов для каждого тега. Другими словами, бот должен поставить 10 лайков – по пять для каждого из двух тегов.
Но взгляните, что происходит в логах после запуска скрипта:
InstaPy регистрирует каждое действие: упоминает, какой пост ему понравился, ссылку на него, описание, местоположение, указывает, комментировал ли и подписался ли на аккаунт.
Возможно, вы заметили, что почти после каждого действия возникают задержки. Это сделано специально, чтобы Instagram не забанил ваш профиль.
Вы также можете указать параметры постов, которые бот НЕ должен лайкать, с помощью метода set_dont_like() :
Теперь бот будет игнорировать посты, в описании которых есть слова «naked» или «nsfw» (not safe/suitable for work).
Подписки
Кроме лайков бот умеет подписываться на аккаунты. Для этого предназначена функция set_do_follow() :
Если вы запустите этот скрипт, то бот подпишется на 50% от тех юзеров, чьи посты он лайкнул. Опять же каждое действие будет залогировано.
Комментарии
Еще одна опция InstaPy – возможность оставлять комментарии. Для этого нужно сделать две вещи. Сначала разрешите комментирование вызовом метода set_do_comment() :
Затем укажите, что именно писать с помощью set_comments() :
Запустите скрипт, и бот оставит один из трех указанных комментариев под половиной постов, с которыми он взаимодействовал.
Закрытие сессии
После того, как вы сделали все, что хотели, нужно закрыть сессию, вызвав метод end() :
Эта команда закроет браузер, сохранит логи и подготовит отчет, который вы можете увидеть в консоли.
Дополнительные возможности InstaPy
InstaPy – это большой проект, который имеет множество тщательно документированных функций. Рассмотрим несколько наиболее полезных из них.
Квоты
Нельзя скрейпить Instagram целыми днями, сервис быстро это заметит. Поэтому полезно установить квоты на действия бота.
Этот код ограничивает пределы комментирования за час и за целый день. Когда бот достигнет их, он перестанет комментировать и будет ждать истечения периода квоты.
Аргумент headless_browser
Указанный в названии аргумент позволяет запускать бота без графического интерфейса браузера. Она полезна, если вы хотите развернуть бота на сервере, где нет или не нужен интерфейс. Производительность в таком режиме выше, так как меньше нагрузка на процессор.
Обратите внимание, соответствующий флаг устанавливается при инициализации объекта InstaPy.
Искусственный интеллект для анализа сообщений
Мы уже научились игнорировать сообщения, в которых содержатся неуместные слова. А что делать, если описание нормальное, но сама картинка неуместна?
InstaPy-бот можно интегрировать с ClarifApi – инструментом для распознавания изображений и видео:
Теперь бот будет игнорировать любое изображение, которое ClarifApi посчитает NSFW. 5000 обращений в месяц – бесплатно.
Количество подписчиков
Зачастую не имеет смысла взаимодействовать с аккаунтами с большим количеством подписчиков. InstaPy дает возможность установить границы для этого количества, чтобы бот не тратил впустую вычислительные ресурсы вашей машины:
Теперь бот не будет взаимодействовать с постами пользователей, у которых больше 8,5 тысяч подписчиков.
Множество других опций и конфигураций вы можете найти в документации InstaPy.
InstaPy – гибкий инструмент, который позволяет легко и быстро автоматизировать действия пользователя в Instagram. Его работа основана на браузерной автоматизации (Selenium) и использовании шаблона Page Object для облегчения работы с веб-страницами.
Если вы еще не начали писать код, прочитайте нашу публикацию о том, как создать виртуальное окружение в Python. Это позволит избежать проблем с зависимостями пакетом. Мы также писали о том, как работает распознавание объектов в реальном времен – впоследствии бота можно улучшить, если привлечь собственную модель для анализа фотографий пользователей.