Что такое парсинг в инстаграм

10 лучших парсеров Инстаграм: платные и бесплатные (2021)

В этой статье вы узнаете:

Все советы и сервисы, перечисленные в статье, актуальны в 2021 году.

Что такое парсеры в Инстаграм?

Парсер — это инструмент для поиска целевой аудитории в Инстаграм по разным параметрам: геолокация, хештеги, подписчики конкурентов, пол, возраст. Функция парсинга есть в специальных онлайн-сервисах, которые специализируются на продвижении в социальных сетях.

Все действия выполняются автоматически: вы задаете нужные параметры поиска (пол, теги, конкурентов), после чего программа или облачный сервис начинает искать ЦА. В дальнейшем можно взаимодействовать с собранной аудиторией: подписываться и ставить лайки, комментировать посты, смотреть истории, отправлять сообщения в Директ.

Это интересно: есть онлайн-сервисы, которые предоставляют возможность парсить аудиторию из других социальных сетей. Например, можно загрузить список Instagram-пользователей из Вконтакте.

Еще одна полезная функция парсеров — фильтрация аудитории. Вы можете установить фильтры, чтобы отсечь ботов и коммерческие страницы: например, указать, чтобы у пользователей была загружена аватарка.

ТОП-10 парсеров в Инстаграм

Теперь перейдем к основной части статьи. Давайте рассмотрим 9 лучших парсеров в Инстаграм. Они помогут быстро найти целевую аудиторию: без ботов и коммерческих аккаунтов.

Zengram Parser

Zengram Parser — сервис для сбора списков пользователей и их данных из Инстаграма. Парсер поможет в продвижении аккаунта: например, вы можете собрать список пользователей и запустить массфолловинг и масслайкинг.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Сервис платный. Но есть пробный пакет за 1 рубль. В пробной версии Zengram Parser можно собрать 3 000 аккаунтов.

Instatracker

Instatracker — простой и удобный сервис для сбора горячей и «живой» аудитории. Инструмент находит свежих подписчиков по аккаунтам конкурентов, хештегам и геолокации.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Instaplus

Instaplus — автоматизированный сервис для продвижения в Инстаграме. Инструмент работает в облачном режиме. Начать поиск целевой аудитории и раскрутку профиля можно с планшета, компьютера, смартфона.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Tooligram

Tooligram — профессиональный сервис для раскрутки Instagram-аккаунтов. Он работает в режиме онлайн — не нужно скачивать и устанавливать дополнительный софт для ПК.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Сервис платный. Есть бесплатный пробный период.

Pepper.Ninja

Pepper.Ninja — это онлайн-парсер, который помогает найти целевую аудиторию во Вконтакте. Но, несмотря на это, инструмент можно использовать для Instagram.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Сервис предоставляет новым пользователям тестовый период на 3 дня.

Segmento Target

Segmento Target — онлайн-сервис для сбора целевой аудитории в социальных сетях. Инструмент работает с тремя площадками: Instagram, VK и OK.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Для тестирования функций Segmento Target можно получить бесплатный доступ к сервису.

SocialKit

SocialKit — программа для раскрутки в Инстаграм. Подходит для продвижения любых профилей: страницы брендов, интернет-магазины, персональные аккаунты, блогеры.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Для тестирования основных функций программы можно скачать Demo-версию.

Bridgit

Bridgit — это инструменты для работы с Instagram. Подходит для продвижения любых аккаунтов.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

В Bridgit есть бесплатный тестовый период, который активируется после регистрации в системе.

Instaplus.pro

Instaplus.pro — сервис для безопасной раскрутки аккаунтов в Инстаграм. Инструмент позволяет привлекать только живую аудиторию.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Новые пользователи могут попробовать сервис Instaplus.pro бесплатно.

InstaTurbo

InstaTurbo — облачный сервис для безопасного продвижения в Instagram. Инструмент позволяет привлекать до 300 клиентов в день.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Стоимость: 890 рублей в месяц. Есть бесплатный пробный период.

Итоги

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

Источник

Парсер Инстаграм: 15 лучших сервисов + обзор функций

Парсер — это специальный сервис для сбора аудитории в Инстаграм по заданным параметрам.

На отобранные аккаунты можно направлять массфолловинг или масслайкинг, отправлять рассылки и таргетировать рекламные объявления. Тем самым взаимодействуя только с теплой аудиторией пользователей.

Парсер для Инстаграм работает по следующей схеме:

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

Возможности парсеров

Сегодня возможности сервисов для парсинга почти безграничны. С помощью таких чудо-сервисов Вы сможете максимально “зацепить” заинтересованную аудиторию. Ту самую, которая уже готова потратить деньги на Ваш товар. Далее расскажу, как использовать базовые функции парсеров.

Функция 1. Сбор базы

Как мы с Вами уже определились, основная функция программы парсера – это сбор базы. Так вот, сбор может осуществляться по нескольким параметрам, и о них я расскажу далее.

1.1 Конкуренты

Для того, чтобы собрать аудиторию Инстаграм аккаунта Ваших конкурентов, на вкладке “Поиск по конкуренту” перечислите популярные аккаунты по Вашей тематике. Можно добавить неограниченное количество профилей.

1.2 Хэштеги

Еще один вариант сбора аудитории – хэштеги. Определите самые популярные теги, по которым Ваш аккаунт могут найти клиенты. Перечислите на вкладке “по хэштегу” все возможные варианты или загрузите список одним файлом.

1.3 Активность

При определенных настройках сервисы позволяют найти пользователей в Инстаграм, которые активно участвуют в жизни определенных аккаунтов: ставят лайки, делают репосты, оставляют комментарии.

1.4 Подписчики

Возможно оперативно собирать информацию о пользователях, которые только что подписались/отписались на конкретные аккаунты. Таким образом удобно парсить новоиспеченных подписчиков конкурентов.

1.5 Локации

Современные парсеры умеют составлять выборку по посетителям конкретных географических мест, будь то город, улица, кафе или спорт-клуб. Если пользователь Инстаграм выложил фото и подставил к нему геометку, сервис сможет добавить его профиль в выборку.

1.6 События

Некоторые парсеры обладают функцией интеграции с другими социальными сетями и умеют сопоставлять данные о пользователе из ВКонтакте с его аккаунтом в Инстаграм. Так можно легко спарсить аудиторию в ИГ, которая в ближайшее время будет праздновать день рождения, поступать в институт или играть свадьбу.

1.7 Фразы

С помощью ключевых слов можно искать авторов публикаций, которые пишут на интересные Вам темы. Например, Вам нужна аудитория, которая пишет о маркетинге. Парсер поможет отыскать пользователей Инстаграм, которые недавно опубликовали пост в ленте с нужными Вам словами.

Функция 2. Фильтр базы

Мало собрать базу, надо сделать ее качественной. Для этого существуют фильтры. Каждый сервис индивидуален и имеет свои особенности фильтрации, но я перечислю самые основные:

Это, пожалуй, самая удобная функция парсера, так как позволяет избавиться от ненужных аккаунтов и тем самым сэкономить бюджет, например, если Вы планируете запускать по спарсенной базе рекламу.

Функция 3. Выгрузка базы

После того, как парсер собрал и отфильтровал базу, ее можно с легкостью загрузить на компьютер в формате CSV. Для этого нужно нажать на соответствующую кнопку.

Далее файл с базой можно использовать, как душе угодно: настраивать таргетинг, отправлять рассылки, запускать массфоловинг. Кстати, большинство парсинг-сервисов обладают и функциями по продвижению.

Сервисы парсинга Инстаграм

Я собрала для Вас топ-15 самых актуальных площадок для парсинга. В некоторых кроме функции сбора, есть и другие полезные плюшки для продвижения Вашего профиля, например, массовые действия, автоматические описки, рассылки и т.д.

– Только для Instagram

Эти площадки подойдут, если Инстаграм Ваша единственная рекламная площадка, и парсить для продвижения необходимо только в этой соц.сети.

СервисСтоимость (в месяц)Бесплатный период
Zengram1 190 ₽Нет, но есть пробный парсинг за 1 руб
Instaplus.proОт 299 ₽5 дней
SocialKit1 110 ₽Демо-версия
BridgitОт 319 ₽1 день
SMMflowОт 299 ₽3 дня
InstawaysОт 399 ₽Бесплатный тариф

– Для разных соцсетей

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

Например, такой вариант будет оптимальным для блогера, у которого есть страница в Инстаграме, канал на YouTube и, скажем, TikTok — с разным контентом, объединённым одной тематикой.

СервисСтоимость (в месяц)Бесплатный периодСоцсети
Pepper.NinjaОт 490 ₽3 дня– Instagram;
– Facebook;
– Вконтакте;
– Одноклассники.
Segmento TargetОт 200 ₽1 день– Instagram;
– Вконтакте;
– Одноклассники.
TargetkultivatorОт 199 ₽1 день– Instagram;
– Вконтакте;
– TikTok.

Как работает парсер

В целом парсеры работают примерно одинаково, поэтому мы разберем основные функции на примере топового сервиса – Zengram. Он умеет собирать аудиторию из подписчиков и подписок конкурентов, искать аккаунты по заданным хэштегам, геолокации и даже ключевым словам.

Также парсер дополнительно соберет номера телефонов в Инстаграм, email, описание профиля и активные ссылки из шапок.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмСтраница парсера

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

Шаг 1. Настройка сбора

Выберите нужный тип сбора. Для примера я буду собирать данные по конкурентам. Далее выберите аккаунты конкурентов: можно начать вводить логин нужного блогера в поиске и выбрать его никнейм вручную в поле справа. Сервис позволяет делать парсинг по нескольким блогерам одновременно.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмНачало сбора

Когда всё настроено, нажмите на кнопку “Начать сбор”, чтобы запустить парсинг.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмНачать сбор

Шаг 2. Сбор аккаунтов

Он займёт некоторое время (или можно остановить его вручную). К слову, рекомендуем делать парсинг не из Вашего основного, а со стороннего профиля, чтобы избежать блокировки аккаунта за подозрительную активность.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмПроцесс сбора

Шаг 3. Фильтрация

Когда аккаунты собраны, их можно отфильтровать. Отмечайте нужные параметры и запускайте фильтрацию. Программа предлагает опцию скачивания неотфильтрованных аккаунтов на компьютер или в таблицы Google. Сделать это можно, нажав на соответствующую кнопку.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмФильтры
Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмРезультаты

Шаг 4. Выгрузка базы

Теперь можно скачать отфильтрованную базу на компьютер или открыть её в таблицах Google. Я выбрала второй вариант.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмВыгрузка базы

Шаг 5. Работа с базой

Программа формирует таблицу с данными об аудитории, где указаны ID пользователей, никнеймы, ссылки на их аккаунты и информация, указанная в био.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмТаблица с базой

Если пользователь привязал к аккаунту e-mail или номер телефона, то эта информация тоже будет отображена в таблице.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмДанные профилей

Коротко о главном

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

Хотелось бы отметить наш личный ТОП парсеров: Zengram, Pepper.Ninja, Segmento Target (бонусы и промокоды к ним ищите в описании сервисов).

Напоследок 3 важных совета по выбору парсера:

И бонус-лайфхак. Если Вы хотите раскрутить свою страницу в Инстаграм совершенно бесплатно, то воспользуйтесь сервисом Bosslike. А еще этот сервис поможет Вам заработать на Вашем Инстаграм.

Источник

Парсинг Instagram в промышленных масштабах

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

В декабре 2020 года я завершил работать в научном институте и сразу же увлёкся задачей добычи данных из соцсетей, в частности из Инстаграма. Прежде я работал только с готовыми данными, поэтому мне всегда было интересно, как эти данные можно добывать. За несколько дней до Нового Года я написал достаточно базовую статью про то как парсить Инст. В первых числах января мне написал заказчик и попросил сделать для него масштабный парсер инстаграма, который был бы способен делать более 10.000 запросов в сутки.

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

В рамках данной статьи я хочу рассказать про путь развития своего Pet-Project в потенциально мощный и серьёзный инструмент. Впереди вас ждёт увлекательное путешествие от хранения данных в простых Json-ах на жестком диске сервера, до облачной базы данных и автоматической инициализации cron расписания запуска процессов внутри докер контейнера, поехали!

Ещё немного занудства

Какую задачу я решал?

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

Задача была следующая. Дана группа пользователей (несколько тысяч), необходимо в режиме реального времени отслеживать, как они ставят лайки друг другу. То есть собирать лайки, которые пользователи из выбранной группы ставят внутри этой группы, и отдавать эту информацию в виде «потока лайков» в стандартизированном виде.

Далее эти лайки должны «копироваться» в блокчейн VIZ, чтобы инстаграмеры не просто так лайкали друг друга, а получали цифровой социальный капитал. Впрочем, этой частью сервиса занимались специалисты на стороне заказчика.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Каким образом я её решал

Да, как вы ещё не раз убедитесь в процессе чтения, я люблю всё структурировать, поэтому ниже список разделов этой статьи:

Принцип майнинга данных из инстаграмма с помощью одного аккаунта, какие ограничения на это есть.

Каким образом можно распаралелить процесс извлечения данных на несколько исполнителей (Vanilla подход).

Как распаралелить процесс, но уже по-крупному. Переход от локальных баз данных к облачным.

Архитектура получившейся облачной базы данных (Firebase Realtime Databasse).

Оркестрирование процессов или как сделать так, чтобы всё работало параллельно и не сломалось.

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

Как я делал расписание процессов. Некоторая магия и танцы с бубном вокруг докера и crontab.

Логи + облачная база данных.

Полезные ссылки (API Instagram, прокси сервис, биржа аккаунтов инстаграм)

Outro + Размышления о будущем проекта.

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

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

А как вообще доставать данные, Recap

Во многом, на этот вопрос отвечает моя первая, максимально базовая статья (это чтобы вы не листали наверх в поисках ссылки).

Если кратко, то я использовал библиотеку на питоне, которая извлекает данные путём отправления запросов к неофициальному API инстаграмма. Есть множество библиотек, работающих таким образом. В своём проекте я использовал instagrapi, пожалуй самую современную и удобную библиотеку.

Что такое неофициальное API инстаграма

Если кратко, то неофициальное API притворяется приложением Инстаграм на андроиде и в шапке запроса прописывает свои специальные плюшечки, сигнатуры и всякое прочее, почитать больше про то как работают запросы к API можно тут.

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

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

Не более 150 запросов в день с одного аккаунта.

Добавить стохастчность во временные промежутки между запросами (например, sleep на рандомный промежуток времени).

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

Разобрались с тем, как проводить запросы с одного аккаунта. Дальше необходимо понять, как организовать параллельную работу группы аккаунтов.

Vanila подход к распараллеливанию

На 150 запросах в день далеко не уедешь, надо что-то придумывать. В самом начале я подумал: «подержите моё пиво, я проходил параллельное программирование в вузе». Так начинается новая глава моего повествования.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Передо мной стояла задача организовать параллельный асинхронный процесс добычи данных несколькими исполнителями.

Процессы исполнители и процесс менеджер я планировал запускать по расписанию с помощью какой-нибудь специализированной утилиты (однако в итоге сделал монстра из докера и crontab).

Стыдно даже рассказывать, с чего я начал, но раз уж пообещал повествование про свой путь, то дерзайте. Начинал я с крайне примитивного подхода в виде хранения данных в json на жестком диске. То есть исполнители получали задание в формате json файла со специальным названием, соответствующим исполнителю, делали необходимые запросы, и затем процесс менеджер собирал результаты работы в один большой json файл.

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

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмКостыльное решение

База данных, Firebase Realtime Database

Мне не хотелось разбираться со сложными базами данных и с SQL, так как это чрезмерно затянуло бы процесс разработки. Благо, мои партнёры по веб студии, молодые и заряженные ребята, подсказали мне продвинутый стек разработки. В частности меня познакомили с Firebase Realtime Database, сервисом компании Google, созданным для упрощения процесса разработки приложений. Представьте себе, NO SQL облачная база данных, доступная из любой точки мира, где есть интернет.

Прежде я писал про то, как «поженить» Firebase Realtime Database и Телеграм ботов. Тут можно почитать про основы работы с этой базой даных.

Основными преимуществами такой базы данных для меня было то, что все данные в ней хранятся в виде json дерева и то, что интерфейс взаимодействия с ней выглядит максимально просто. И что это всё работает с моим любимым питоном! (Python Firebase SDK). Во многом, помочь разобраться с базой данных мне помог этот туториал.

Прежде чем интегрировать новую для меня технологию в серьёзный проект я начал с «игрушечного проекта» (Да, Pet Project внутри Pet Project) и интегрировал Realtime Database в моего телеграмм бота, который делает синтаксический анализ предложений. Он был сделан в рамках другого моего проекта и там была необходимость запоминать предложения, на которых алгоритм работает плохо.

На нынешнем этапе обрезка работает достаточно просто и зачастую падает для сложных предложений. Однако дерево строится в большинстве случаев.

Архитектура БД

Основу этой архитектуры я придумал за один продуктивный вечер где-то в начале марта, расслаблено программируя с бокальчиком вина (а потом уже и с бутылкой). Впоследствии я добавлял некоторые коллекции и разделы для более эффективной работы системы, либо для более гибкой её настройки.

Начнём с самых базовых структур, которые я использовал в этом проекте

User

Post

Ноль в last_check означает что пост ещё ни разу не был проверен.

Стоит отметить, что в post.likes хранятся в принципе все лайки оставленные под постом (то есть не только внутри нашей базы данных).

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

Если на посте больше 999 лайков, то будут отданы 999 некоторых лайков из всех (при этом нигде нет гарантии, что это будут 999 последних лайков).

Like

Коллекции

В корневом разделе базы данных Firebase Realtime Database хранится 6 коллекций (6 корневых разделов).

Executors

Данная структура хранит в себе все конфигурационные данные, необходимые для сбора лайков и добавления новых постов.

Сбор лайков может вестись параллельно и асинхронно несколькими исполнителями.

Executor Configs

Конфигурационный файл исполнителя:

Last Login Log

Лог последней авторизации в случае успеха имеет вид

Settings Dict

Конфигурация API исполнителя. Содерджит в себе куки файл для более удобной авторизации (и менее опасной с точки зрения потенциальной возможности бана аккаунта).

Пример для купленного аккаунта (обфусцированный). Такой объект генерируется во время первой авторизации.

Оркестрирование процессов

Разобрались с облачной базой данных (Если вы ещё не разобрались, то обязательно разберитесь, почитайте туториалы, уж очень классная штука). Теперь необходимо понять, как правильно использовать её для организации процесса майнинга данных группой аккаунтов.

Как любил говорить мой любимый преподаватель по программированию: «Разделяй и властвуй». Стараюсь придерживаться этого принципа. В инстаграме лайки имеют смысл только в контексте постов, на которые они были поставлены. Поэтому наша задача может быть разбита на две подзадачи:

Держать актуальной базу постов, выложенных пользователями

Держать актуальной мини базу лайков для каждого поста

Алгоритм работы процесса исполнителя выглядит следующим образом:

Процесс запускается по расписанию (про расписание будет отдельный раздел).

Логинится в аккаунт инстаграмма, используя при этом своё прокси (SOCKS5).

Случайным образом выбирает действие. Чтобы действия не были сильно похожи на действия робота. Исполнитель либо делает запрос на новые посты пользователя, либо на новые лайки, либо совершает случайное действие (лайк, посмотреть коменты, посмотреть подписчиков), либо вообще отдыхает.

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

Получает из облачной базы данных нынешнюю запись (будь это пост или пользователь).

Проводит запрос к Инстаграму.

Проверяет, изменились ли данные, если изменились, то обновляет запись в облачной базе данных.

Если действие было собрать новые лайки и на посте оказались новые лайки, то исполнитель выгружает новые лайки в облачную базу данных. Это необходимо чтобы поток лайков был в режиме реального времени. Исполнитель добавляет в облачную базу данных только лайки пользователей из базы пользователей. База идентификаторов пользователей хранится в виде json файла на сервере и обновляется раз в несколько часов.

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

Вырезка из документации касательно оркестрирования.

Раз в несколько часов происходит перераспределение диапазонов индексов между исполнителями. Это нужно для того, чтобы минимизировать влияние заблокированных аккаунтов. Эта функция называется normalize_executors_split

Балансировка оркестрирования

Для улучшения процесса обработки баз данных была реализована балансировка оркестрирвоания

По расписанию (напр. раз в день) crontab запускает процесс-менеджер, который сортирует users_database по параметру last_check

Пользователи, которые не были проверены дольше всех, помещаются в специальную приоритетную очередь

normalize_split

Уплотнение кластера пользователей

Изначальную базу пользователей я решил брать с университетских кластеров пользователей. Делал я это следующим образом (да, я люблю списки).

Я брал несколько самых популярных университетских аккаунтов в инстаграме.

Для каждого аккаунта получал идентификаторы последних 20 постов.

Выкачивал все лайки для этих постов.

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

Добавлял в свою базу пользователей тех, кто поставил N > 4 лайков (варьируемый параметр, я экспериментировал).

Интересный инсайт: Как оказалось, студенты МФТИ не так охотно ставят лайки друг другу в инстаграме, поэтому мой итоговый кластер состоял из студентов МГУ и ВШЭ (привет паблик hsemem).

Коммерческое предложение: Да, если меня читают товарищи таргетологи, то обязательно напишите мне, потому что вам ведь что-то похожее нужно для анализа аудитории? Я как раз планирую сделать сервис, который бы на базе нескольких аккаунтов схожей тематики выдавал бы их активную аудиторию.

manager — процесс для менеджмента системы.

Алгоритм работы следующий:

Загрузка всей базы данных пользователей и базы данных постов

Проставление пользователям количества лайков, которое они отдали внутри базы данных

Сбор всех лайков, поставленных внутри базы данных. Загрузка всех лайков в облачную базу данных

Перераспределение диапазонов индексов пользователей между исполнителями ( normalize_executors_split )

Балансировка оркестрирования ( choose_top_users_to_fetch )

Сохранение всех баз данных локально

manage_cluster — процесс уплотнения или расширения кластера (в зависимости от параметров)

Для увеличения связности базы данных пользователей раз в определенный промежуток времени запускается процесс, отсеивающий малоактивных пользователей и добавляющий пользователей активных (которые еще не в базе данных).

В облачной базе даных в разделе executors/cluster есть два параметра, влияющих на процесс формирования кластера.

ADD_FRACTION доля пользователей, которые добавляются (доля от текущего размера базы данных пользователей

Алгоритм работы процесса следующий:

Загрузка всей базы данных пользователей и базы данных постов.

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

Пользователи сортируются по количеству лайков, поставленных внутри базы данных. Затем оставляется доля самых активных пользователей (от нынешнего количества пользователей внутри базы даных), равная REMAIN_FRACTION (число от 0 до 1).

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

Эти пользователи также сортируются по количеству поставленных ими лайков. После чего в базу данных добавляется доля пользователей равная ADD_FRACTION (имеется ввиду доля от нынешнего количества пользователей внутри базы даных).

Затем запускается перераспределение диапазонов индексов пользователей между исполнителями ( normalize_executors_split ).

Расписание процессов

Значимой частью этого проекта, его безусловным сердцем, является логика запуска процессов по расписанию. Где-то внутри меня сидит бунтарь, которому постоянно хочется хардкора, поэтому расписание процессов я делал внутри докер контейнера с помощью crontab. Более того, конфигурационный файл crontab внутри докера постоянно синхронизируется с облачной базой данных. Когда я продумывал всю эту архитектуру я, безусловно, представлял себя вождём шаманов, совершающим некое таинство.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмВоображаемый вождь шаманов

В файле crontab_config всего одна прекрасная строчка, которая вызывала процесс сборки файла с расписанием на базе данных в облачной базе данных. В результате получался файлик в 100 с чем-то строчек.

Как выглядел мой crontab файл

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

Создаваемый конфигурационный файл зависит от параметров, находящихся внутри раздела crontab в облачной базе данных.

Алгоритм работы следующий:

Из облачной базы данных подгружаются параметры формирующие расписание.

Создается текстовый файл, содержащий комманды для системной утилиты crontab.

С помощью os.system() вызывается команда установки конфигурационного файла внутрь докер контейнера.

Я посчитал важным сделать красивые и адекватные логи, поэтому их я также сохранял в облачную базу даных, что оказалось очень удобно. На базе логов, хранящихся в таком формате можно сделать, например, Телеграм бота, который по запросу будет присылать отчёт по успешности выполненных запросов и анализировать самые часто встречающиеся проблемы.

В структуре tasks_log хранятся логи, описывающие результат работы каждого запроса каждого исполнителя.

где каждый task_log имеет вид

в случае неуспеха task_log.payload имеет вид

Что ещё я использовал в проекте, полезные ссылки

Неофициальное API инстаграмма

Проблемка с нынешней версией сервиса

На момент написания статьи у данная библиотека имеет версию 1.9.13. В данной версии кроется коварная ошибка, которая, впрочем, достаточно просто чинится.

Кто-то просто забыл убрать строчку в 43й строке. Просто убираем скобочку и всё работает.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

Прокси

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

В своём проекте я использовал сервис webshare. Я взял 100 прокси, что стоило мне 2.75$ в месяц. Этот сервис я использовал и для других своих проектов, так что рекомендасьон.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграмСтатистика использования прокси по моему проекту

Аккаунты в Instagram

Как я уже ранее упоминал, аккаунты инстаграмма у меня покупные. Никакого криминала, я брал самые простые и дешёвые автореги, они стоят примерно по 12 рублей за штуку. Вот и вот примеры бирж, на них много разных продавцов. Прежде чем покупать «большую котлету» аккаунтов, советую брать штучек по 10 на пробу и смотреть насколько они живучие. Если вдруг возниктут какие-то трудности с указанными ранее биржами, то другие такие биржи гуглятся по запросу: «Аккаунты Инстаграм авторег купить».

Outro + Будущее проекта

Чтобы не перегружать и без того уже внушительных размеров статью я оставил некоторые детали за кадром. Так например, к этому проекту прилагалось API, которое отдавало лайки по запросу за промежуток времени. Возможно, я ещё вернусь и допишу про этот проект позже. Сейчас же я хочу обсудить его потенциально будущее.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм410 WEB

Последние несколько месяцев, в рамках своего Digital агенства, я достаточно плотно занимаюсь проектами так или иначе связанными с Digital Marketing. Насколько мне известно, достаточно часто возникает задача выкачки аудитории с нескольких инстаграмм профилей со схожей семантикой. Так вот, мой парсер позволяет выкачивать не просто аудиторию, а брать сразу самую активную, которая ставит лайки и оставляет комментарии. Так что, специалисты в области Инстаграм, жду обратной связи от вас, нужно ли вам такое; потому что я планирую упаковать свой бэкенд в полноценный сервис.

Что такое парсинг в инстаграм. Смотреть фото Что такое парсинг в инстаграм. Смотреть картинку Что такое парсинг в инстаграм. Картинка про Что такое парсинг в инстаграм. Фото Что такое парсинг в инстаграм

И да, в будущем планирую писать не только про программирование, например, у меня есть несколько сумасшедших маркетинговых идей для разных областей бизнеса, которые мне не терпится попробовать. Так что Stay Tuned.

Источник

Добавить комментарий

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