Рубрика: SEO\SMM

Сбор целевой аудитории ВКонтакте. Часть 1.

Сбор целевой аудитории ВКонтакте. Часть 1.

Сегодня мы начинаем цикл статей по созданию шаблона по парсингу участников сообществ (группы, паблики, встречи) ВКонтакте для ретаргетинга. На данном примере Вы убедитесь, что создать собственными руками функциональный инструмент для сбора ЦА — это реальность. По завершению данной серии статей, у нас будет полноценный аналог сервисов по формированию аудитории для таргетированной рекламы или любых других коммуникаций, что позволит сделать Вашу рекламу эффективнее и дешевле, чем у конкурентов.

Мы можем это сделать с помощью браузера, но тогда это займет много времени т.к. при открытии всего списка участников сообщества, нам будет доступно всего ~60 пользователей. Чтобы получить весь список, нам необходимо прокрутить страницу в самый низ. Браузер нужен тогда, когда требуется эмуляция человеческих действий, а в данном случае Вконтакте предоставляет официальный API с открытыми для всех желающими методами по работе с соц. сетью, включая доступ к списку участников группы, публичной страницы или встречи.

Мы будем использовать кубики GET-запросов из стандартного набора ZennoPoster. На первый взгляд такие слова, как «GET\POST запросы» и «API» звучат сложно и непонятно, но на деле — это проще пареной репы, тем более с использованием ZP. И сейчас Вы в этом убедитесь, поехали!

План действий:

  1. Создаём приложение
  2. Составляем запросы к API
  3. Собираем ID пользователей Вконтакте в *.txt файл

 

Создаём приложение

Переходим на страницу разработчиков, в раздел «Мои приложения» и жмём на кнопку «Создать приложение».

Указываем название и подключаем приложение, кликом по кнопке.

Далее в секции настроек необходимо его включить.

Составляем запросы к API

Список всех доступных методов Вы можете найти в документации.

Нам нужен всего 1 метод и это groups.getMembers

Данный метод принимает до 6 параметров. Самые важные для нас — это group_id и offset.

count (кол-во участников о которых нам нужно получить информацию) по-умолчанию стоит на 1000, что является максимумом, поэтому трогать его не будем.

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

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

В итоге наш запрос будет выглядеть следующим образом, для примера возьмём группу Команда ВКонтакте (https://vk.com/team):

https://api.vk.com/method/groups.getMembers?v=5.69&group_id=team&offset=0

Он вернёт 1000 ID пользователей сообщества, чтобы получить следующую тысячу, необходимо изменить offset на 1000, далее на 2000 и т.д.

Собираем ID пользователей ВКонтакте в *.txt файл

В проекте ZennoPoster создаём переменную group_id и offset. Далее добавляем кубик HTTP -> GET-запрос,

В URL кубика прописываем:

https://api.vk.com/method/groups.getMembers?v=5.69&group_id={-Variable.group_id-}&offset={-Variable.offset-}

Загружаем только содержимое и кладём в переменную JSON.

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

Теперь необходимо всё это дело положить в список и сохранить в файл. И так в цикле до тех пор, не разберем все данные.

Делать мы будем это с помощью кубика «Обработка JSON/XML». Запускаем в ZennoPoster конструктор XPath / JSONPath, чтобы получить путь к нашим ID.

Вставляем туда текст и выделяем фрагмент со словом items, внутри которого лежат ID пользователей и жмем «Найти». Чуть выше появится специальная конструкция, которую необходимо скопировать.

$..items

Теперь необходимо добавить в проект 2 экшена по обработке JSON. Первый произведет парсинг по пути, который мы скопировали. Второй — отправит все ID в список.

Следующим шагом мы прибавляем 1000 к переменной offset (которая изначально была равна 0) и повторяем процедуру, начиная с запроса.

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

В следующей статье мы рассмотрим способ ускорения парсинга больших сообществ с помощью двух методов:

  • ВКонтакте API. Метод Execute.
  • За счёт многопоточности ZennoPoster

Обсудить на форуме