В интернете есть ряд сервисов, которые за деньги пригоняют много подписчиков и “лайков” в ваш аккаунт в Instagram. Я точно не знаю, как именно это делают они, но мне самому удалось в некоторой степени повторить это на своём аккаунте с помощью бота, спортивного интереса ради.
Идея эта уже несколько недель витала в нездоровой голове, и в какой-то момент нашлось время попробовать. А ещё через несколько недель нашлось время описать. Суть такова:
- Любым способом находим много произвольных не закомых нам пользователей. Ставим им лайки и подписываемся.
- Эти люди получают уведомления на свои телефоны. Многие из них при этом сами заходят в наш профиль (всем любопытно, что за незнакомый чел на них подписался), смотрят и иногда подписываются в ответ.
- Чтобы ваш аккаунт не выглядел спамерным или взломанным (типа 100 подписчиков, а подписан на >9000), время от времени вероломно отписываемся от этих людей и отменяем свои лайки. Мало кто обратит на это внимание, поэтому большая часть подписчиков остаётся при нас.
Теперь немного подробностей.
Бот получился в виде самодостаточной программы на Java, которая просто постоянно работала в фоне и не требовала моего внимания. Для получения доступа к API Инстаграма он был зарегистрирован как стороннее приложение.
Пользователей я находил с помощью поиска по тегам. Нашёл в интернете список самых популярных тегов по разным странам, убрал из него всякое говно. Программа выбирала произвольный тег, искала и выбирала по нему фотографии. Желательно на этом этапе отсеять фотографии своих действительных друзей, потому что мы не хотим их беспокоить без повода, и тем более не хотим отписываться от них в третьем пункте. Для этого в первый запуск программа должна запросить и сохранить список этих настоящих друзей. У меня всё хранилось в локальной SQLite базе.
Все подписки и лайки, которые делала программа, тоже сохранялись в базу вместе с отметкой времени. Используя эти отметки, бот находил людей, на которых он подписался достаточно давно (16 часов у меня — думаю, что большинство “таких” пользователей заходят в Инстаграм как минимум утром и вечером) и отписывался от них, а также убирал старые лайки.
Просмотр первых логов дал идеи для усовершенствования бота. Во-первых, Инстаграм ограничивает количество запросов, которое пользователь может сделать за час. Лайки/анлайки считаются вместе, но отдельно от подписок/отписок, всё остальное тоже отдельно. Поэтому процесс можно оптимизировать: если инстаграм запрещает лайкать, то надо на время перестать пытаться это делать, но можно продолжать отписываться.
Во-вторых, он много подписывался на таких же хитрожопых, как и я :) Оказывается, многие интернет-магазины, фотографы и прочие ищущие внимания ставят много популярных тегов на фотографии, тоже подписываются, оставляют комментарии и бурлят разными другими способами. Чтобы не тратить на них драгоценные запросы, я стал отфильтровывать хитрожопых. Фильтровал в основном по имени, словам в описании профиля, наличию веб-сайта и по количеству подписчиков — если много подписчиков, но мало подписок, то игнорируем. Здесь большой простор для творчества.
Также по достижении определённого числа подписок (не подписчиков), бот переставал делать новые, чтобы аккаунт не выглядел подозрительно.
Так, за несколько недель я насобирал порядка двухста подписчиков в дополнение к тем, что у меня уже были, и на этом остановился. Практика с временными аккаунтами показала, что если навыкладывать каких-нибудь профессиональных фотографий, то подписчики будут расти быстрее. Фотографии, понятное дело, могут быть просто взяты из интернета. По достижении аккаунтом нескольких сотен подписчиков, инстаграм может отказаться выполнять запросы, пока пользователь не подтвердит свой номер телефона. Какая-никакая, а всё-таки защита.
Вы уже задумались, почему именно Инстаграм, и можно ли повторить это в других соц. сетях? С Вконтактом такое не пройдёт: он защищается капчей, в отличие от Инстаграма. Про другие сети не знаю, но уверен что у Фейсбука, например, есть нормальная защита против этого. ЖЖ, так часто подвергающийся разным атакам, тоже, наверное, что-то такое имеет.
Минусы и неудобства:
- Ваши подписчики видят мусор в истории от вас (третья кнопка снизу, затем первая кнопка сверху)
- Вы видите только мусор в своей ленте. Вместо фотографий друзей там что-нибудь такое:
Второй пункт можно попытаться обойти, написав другую программу, которая составляла бы вам ленту из ваших настоящих друзей.
Прикладываю свою имплементацию API Инстаграма (Java), если вдруг кому надо: http://pastebin.com/w3WNceUt
(Код так себе, но и мы не на конкурсе красоты тут)
Я не кодил аутентификацию, потому что для одного аккаунта её проще сделать браузером (см. Client-Side (Implicit) Authentication здесь, REDIRECT-URI заменяем на localhost или что угодно).