Как собрать статистику пользователя в Instagram

Дата публикации:

Процесс работы с API социальной сети Instagram имеет некоторые ограничения. Они заключаются в том, что пользователь, у которого есть токен, может сделать только 5000 запросов к API в час, из них только 65 (если использовать практику подписания запросов, то это число можно увеличить до 220) запросов отведены на взаимодействие с контентом — лайки, подписки, комментирование, добавление и удаление контента).

Основные задачи

Основными нашими задачами являются:

  • отслеживание динамики развития аккаунта;
  • отчеты об эффективности взаимодействия с фанами этого аккаунта (определение процента активности пользователей, полученного в ответ на взаимодействие с их аккаунтами);
  • аналитика похожих/конкуретных аккаунтов для выявления методов эффективного развития собственной страницы (за счет практик применяемых конкурентами — аналитика хештегов, взаимодействие с фанами конкурентов, определение наиболее высокооцененного контетна).

instagram

Проблемы и решения

Сбор данных о пользователях Instagram упирается в ограниченность численности запросов. Для небольших аккаунтов 5 тысяч — приемлемое количество, позволяющее обработать всю информацию на аккаунте за один проход. Но для страниц у которых более 12 тыс. лайков, 800 комментариев и 3,5 тыс. фолловеров этого количества определенно не хватит.

Прыгнуть выше предела запросов нам позволила техника использования так называемых “наблюдателей”. Речь идет об аккаунтах администраторов приложения, которые осуществляют синхронизацию данных из Instagram. Наблюдатель — администратор приложения, прошедший аутентификацию через Instagram. После этого он получил токен, предоставляющий возможность работать с API и позволяющий получать информацию об аккаунтах, которые находятся в свободном доступе.

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

формула

P — количетсво медиа-контента на одной странице ответа;

M/P — количество запросов, необходимых для получения списка всего медиа-контента;

M — количество запросов для обработки  всего медиа-контента аккаунта;

F — количество запросов для обработки всех фолловеров аккаунта;

i — запрос для получения общей информации о своем аккаунте;

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

С — количество запросов, необходимых для получения информации обо всех комментариях отдельного медиа элемента;

R — количество запросов необходимых для получения следующей информации;

  1. Общей информации о медиа
  2. Списка лайков
  3. Списка комментариев

5000 —  Количество запросов в час.

Процесс синхронизации

index

Алгоритм выбора наблюдателя

  1. Засекаем время старта поиска доступного наблюдателя;
  2. Находим в БД администратора, доступного для использования в данный момент (если в течение 15 минут доступный наблюдатель не обнаруживается, переключаемся на пользователя);
  3. Инициализируем клиента, применяя токен администратора или пользователя для общения с API;
  4. Отдаем полученные данные на обработку.

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

  1. Если у наблюдателя закончились доступные запросы (это происходит, как часть алгоритма переключения), ему устанавливаются флаги used: false и empty: true
  2. Если наблюдатель выполнил все необходимые операции, устанавливается флаг used: false.

Принцип переключения наблюдателя

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

Процесс сбора медиа

Основная задача наблюдателей — сбор данных о медиа-элементах пользователей. Обработка полученной информации производится следующим образом:

  1. Выбирается пользователь для обработки (аккаунт должен быть публичным);
  2. Выбирается наблюдатель;
  3. Происходит сбор всех медиа пользователя;
  4. Выполняются запросы на получение статистики по каждому медиа-элементу (лайки/комментарии);
  5. Список медиа-элементов пользователя сверяется с имеющимся в базе и происходит удаление/добавление лишних/добавленных медиа;
  6. Обновляются данные по статистике для каждого медиа-элемента
  7. Создается реплика записи с общей статистикой пользователя (количество комментариев, лайков, подписчиков, медиа).

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

Instagram API очень проста в освоении, но как и многие другие имеет множество ограничений, которым необходимо следовать. Благодаря алгоритмам, мы можем практически беспрерывно собирать информацию о статистике и активности  пользователей.
На сегодня в Instagram имеется масса ограничений. Для полноценной работы с их API,  приложение должно пройти Permissions Review. Прием заявок на Permissions Review для новых приложений стартует после 3 декабря 2016.

g3KvO

Мы Крым Диджитал

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

Подпишись
на наши новости

Контакты пресс-службы

+ 7 (926) 118-80-32

WhatsApp, Viber, Telegram

Давайте обсудим Ваш проект

или свяжитесь с нами по почте projects@crimeadigital.ru

Нажимая кнопку «Отправить», вы даете согласие на обработку персональных данных

Прошел день карьеры в СевГУ

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая. Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы. Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов — как начать свою карьеру в ИТ? Есть ли возможность совмещать учебу с работой? Кем я смогу стать? Как понять, кем я хочу работать? И многие другие.

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая.

Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы.

Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов - как начать свою карьеру в ИТ?

Есть ли возможность совмещать учебу с работой?

Кем я смогу стать?

Как понять, кем я хочу работать?

И многие другие.

Завершен набор студентов на летнюю практику

Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться — front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.
Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться - front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.

Крым Диджитал приняла участие в стратегической сессии

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня. Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства. Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня.

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

Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Выпуск курса Software Testing

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing! Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании. Следующий курс намечен на август. Не пропусти анонс записи!

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing!

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

Следующий курс намечен на август. Не пропусти анонс записи!