Pull to refresh

Instagram Like Bot

Reading time1 min
Views66K
Все началось с того, что супруга завела аккаунт в Инстаграме, начала постить кучу фоток и обижаться, если я вовремя их не лайкую. Пришлось заняться автоматизацией семейных отношений.

Заказчик в моем лице определил следующие требования:
1. Симуляция работы в Инстаграме как обычный пользователь, лайкание в одном треде (чтобы Instagram не забанил моего бота).
2. Возможность авто-лайкания произвольного количества аккаунтов с произвольной глубиной лайков.
3. Запуск через шедулер, работа в бэкграунде.

Выбор пал на nodejs. Почему nodejs? Потому на Perl'е (который я использую время от времени уже несколько лет) делать не хотелось, а nodejs привлек внятным менеджеров пакетов, нативной поддержкой JSON и вообще Javascript в браузере роднее чем какой-нибудь Python.



Конечно, Instagram имеет свое API и теоретически его можно было использовать, но программы, использующие API Instagram'a требуют специального аппрувола, а мне хотелось чтобы скрипт могли использовать массово.

Полный текст скрипта доступен на github.com/get-a-clue/nodejs

Для симуляции браузера конечно используется selenium, в оригинальной версии скрипта запускается браузер Chrome для отладки, если вы хотите использовать скрипт только в консоли, нужно заменить chrome на phantomjs в строке 24. Phantomjs — это бразузер на Webkit со всеми плюшками типа CSS, JS и т.д.

Установка и запуск описана в комментарии к скрипту. Кроме того, вам потребуется самостоятельно установить сам nodejs и настроить периодический запуск скрипта по расписанию. Конечно, скрипт еще далек от совершенства, нужно сделать отчетность и обработку ошибок, но свою функцию он успешно выполняет, экономит мне время да и жена теперь довольна. :)
Tags:
Hubs:
Total votes 44: ↑28 and ↓16+12
Comments34

Articles