Как парсить аудиторию ВКонтакте в TargetHunter, как собрать конкурентов
Разбираем, как собирать ВКонтакте аккаунты людей по определённым параметрам на примере TargetHunter.
Парсер — это сервис, с помощью которого можно собирать в ВК аккаунты людей по определённым параметрам и сообщества с необходимыми характеристиками.
В статье разбираемся, как парсить аудиторию ВКонтакте и делимся рабочими алгоритмами сбора аудитории, подходящими практически для любой ниши, которые дают при настройке самые высокие результаты.
1. Активности прямых и косвенных конкурентовСамое сложное — собрать и грамотно отфильтровать конкурентов. Даже если заказчик выдал вам их списком, не ограничивайтесь им. Поищите дополнительно в парсере.
Алгоритм:
- Вы выписываете все ключевые слова, по которым можно найти ваших конкурентов. Можно использовать направления бизнеса: салон красоты, автосервис, медицинский центр.
- Собираете сообщества конкурентов в парсере:
Поиск>>Сообщества>>Ключевая фраза
- Чтобы понять, какие ещё ключи могут содержать названия сообществ конкурентов, проанализируем семантику названия сообществ по вкладке:
Анализ>>Семантика>>Названия сообществ
Выгружаем туда ранее найденное и анализируем результат. Нужно понять, какие слова в названии сообществ конкурентов встречаются чаще всего.
В истории с салонами красоты это могут быть и «студия красоты», и «бьюти-студия».
Список часто встречающихся слов в названиях поможет найти вам ещё больше конкурентов.
Нюанс: не всегда в самом названии сообщества будет прописано ключевое слово. Оно может быть и в описании сообщества, и в статусе.
Пример: Название сообщества «Доктор Васильева»
Статус: врач-эндокринолог высшей категории
Поэтому дополнительно используйте механики:
Поиск>>Сообщества>>Статус
Поиск>>Сообщества>>Описание
Сюда вставляем и те ключи, которые придумали сами, и те, что собрали при помощи анализа семантики сообществ.
Совет: Обязательно отфильтруйте результаты поиска. Особенно много нерелевантных сообществ будет в списке, собранном по описанию.
Далее списки сообществ конкурентов для удобства можно объединить.
Инструменты>>Пересечение баз>>Сообщества
Эту базу можно дополнительно отфильтровать по дате последнего поста, оставив лишь живые сообщества, которые публиковали посты от своего имени за последний месяц.
Ещё не забудьте убрать удалённых и забаненных при помощи специальной галочки, а также просмотреть на предмет релевантности.
После выборки сообщества скачиваем текстовым документом и можем грузить списком в рекламный кабинет в раздел «Активности в сообществе».
Огромный плюс: такая аудитория относится к «вечнозелёным» — то есть она будет обновляться автоматически в рекламном кабинете.
То же самое можно проделать с косвенными конкурентами в случае, если вам нужно масштабировать кампанию или прямых конкурентов не достаточно.
Косвенные конкуренты — это те, кто предлагает продукт с другими характеристиками или абсолютно другой продукт, но работающие с вашей целевой аудиторией.
Например, у вас кружок по скорочтению. Секция робототехники будет вашим косвенным конкурентом.
2. Активности с контента и рекламы прямых и косвенных конкурентовТак же, как и в предыдущем случае, можно собирать базы по отдельности, так как теплота аудиторий прямых и косвенных конкурентов разная. Но механика сбора одна:
- Подумайте, кто ваши прямые, а кто косвенные конкуренты. Соберите и отфильтруйте их сообщества по алгоритму, описанному выше.
При помощи вкладок:
Сбор>>Посты и Анализ>>Промопосты
собираем их посты и промопосты за месяц.
- Далее собираем лайки и комментарии при помощи вкладки
Анализ>>> По объекту>>Посты
Получаем базу пользователей, позитивно реагирующих на контент и рекламу прямых/косвенных конкурентов.
Фильтруем эту базу от ботов.
Полученный список загружаем в рекламный кабинет.
Совет: воспользуйтесь функцией автокейсов, чтобы эта база обновлялась автоматом.
Не факт, что аудитория, позитивно реагирующая на контент косвенных конкурентов, выстроится в очередь за вашим товаром. С ней хорошо начинать работать со 2, 3 ступени лестницы Ханта. Знакомьте их со своей компанией, своим продуктом, прогревайте контентом.
3. Недавно вступившие к конкурентамЕсли конкуренты не скрыли участников своих сообществ, вы можете спарсить аудиторию, которая подписалась недавно. Как правило, это горячая аудитория, интересующаяся темой прямо сейчас.
Берём список конкурентов (как это сделать написано выше), переходим во вкладку
Сбор>>Недавно вступившие
Чем меньше срок вступления, тем более горячей будет собранная аудитория. Люди, которые подписались на сообщество 3 месяца назад, и те, кто вступили только 3 дня назад, имеют разную степень интереса.
Совет: не забывайте проводить чистку списков пользователей от ботов с помощью вкладки
Инструменты >> Очистка от ботов
Совет 2: настраивайте автокейсы. Это избавит вас от необходимости собирать аудиторию по одним и тем же настройкам заново.
Фильтрованную базу (id пользователей) можно загружать в базу ретаргетинга и запускать на них рекламу.
Ознакомьтесь с базой 300+ кейсов и статей по SMM и таргету и заберите её на этой странице.
4. Целевые сообщества и целевые вступления ядра аудиторииЯдро — это ваши клиенты. То есть те, кто уже покупал у вас. При помощи парсера можно выяснить, на какие ещё сообщества подписаны наши клиенты и куда вступают.
Лайфхак: если нет своей базы, то в качестве ядра можно анализировать список очень активных подписчиков конкурентов.
Свою клиентскую базу или базу конкурентов загружаем в
Анализ>>Целевые сообщества или Анализ >>> Целевые вступления
Целевые сообщества покажут нам, в каких группах состоят анализируемые подписчики, а целевые вступления — куда они активно вступают.
В настройке вы увидите графу «Количество пользователей из входных данных». Она показывает, сколько человек минимум из загруженной базы состоят в 1 сообществе. Ставьте тут хотя бы от двух.
Совет: разбивайте подборки целевых сообществ по объёму аудитории. Например:
- сообщества, где до 500 участников (сюда могут попасть сообщества закрытых тренингов)
- от 500 до 1000
- от 1000 до 5000
- от 5000 до 10000
- от 10000 до 20000
- свыше 20000.
Не забудьте проанализировать списки. На что смотрим:
- на релевантность сообществ вашей тематике
- на количество целевой аудитории в найденных сообществах
- на % вашей ЦА в сообществах.
Эти данные вы увидите в результатах парсинга.
5. Топ-участникиЕсли вы перейдёте в раздел «Сообщества», то обнаружите, что сообщества, которые вы посещаете, чаще всего находятся у вас на первых позиция. То есть они ранжируются по частоте посещения.
Благодаря парсеру мы можем сегментирировать сбор участников в зависимости от того, на каком месте у них находится определённый паблик.
- Если сообщество в топ-1,2 — скорее всего, это владелец или SMM-щик проекта.
- Топ-2-топ-5 — пользователи, которые посещают сообщество максимально часто. Та самая горячая аудитория.
- Топ-6-10 можно отнести к тёплой аудитории.
- Топ 11-40 — к интересующейся.
Чтобы собрать топ-подписчиков определённых сообществ, переходим во вкладку
Сбор>>Топ участники
В настройках выбираем, с какого по какое место сообщество должно занимать в списке пользователя. Дополнительно можем выставить, на какое количество групп из загруженного списка эти пользователи должны быть подписаны.
Настройка помогает спарсить аудиторию, которая сидит в сообществе, но никак себя не проявляет и даже не подписана. Часто такое поведение наблюдается в темах, где люди стесняются себя проявить.
vkontakte-friends-parser/parser.rb at master · leonid-shevtsov/vkontakte-friends-parser · GitHub
требуют «rubygems» | |
требуется «механизировать» | |
требуется ‘json’ | |
требуется «хамл» | |
требуется ‘vkontakte_grabber.rb’ | |
требуется ‘config.rb’ | |
#MY_EMAIL = | |
#МОЙ_ПАРОЛЬ = | |
, если не указано? (MY_EMAIL) | |
помещает «Посмотрите на источник и введите свои учетные данные» | |
выход | |
конец | |
page_template = < | |
!!! | |
%html | |
%тело | |
%h2=»Всего людей во 2-м круге: \#{people.![]() | |
%ul | |
-people.each делать |id,друзья| | |
%li | |
%дел | |
%a{ :href=>»http://vkontakte.ru/id\#{id}»}=names[id] | |
=»(\#{друзья.длина})» | |
%дел | |
=friends.map{|id| имена[id]}.join ‘, ‘ | |
ЕОТ | |
граббер = VkontakteGrabber.new(MY_EMAIL, MY_PASSWORD) | |
имен = {} | |
мои_друзья = [] | |
человек = {} | |
my_friends_list = граббер.![]() | |
, если my_friends_list == {} | |
ставит «Не удается получить список друзей; вероятно, учетные данные неверны» | |
выход | |
конец | |
my_friends_list[‘друзья’].каждый делать |друг| | |
id_друга = друг[0].to_s.strip.to_i | |
мои_друзья << id_друга | |
имен[friend_id] = друг[1].strip | |
конец | |
осталось = my_friends.![]() | |
my_friends.each сделать |friend_id| | |
ставит осталось | |
осталось -= 1 | |
his_friends_list = граббер.get_friends(friend_id) | |
sleep 1 # чтобы избежать блокировки друга вконтакте | |
, если его_список_друзей[‘друзья’].ноль? | |
ставит имена[friend_id] | |
следующий | |
конец | |
his_friends_list[‘друзья’].![]() | |
#отметить своего друга | |
his_friend_id = его_друг[0].to_s.strip.to_i | |
имён[его_друг_ид] = его_друг[1].полоса | |
человек[его_друг_ид] ||= [] | |
человек[его_друг_ид] << друг_ид | |
конец | |
конец | |
мой_id = мой_список_друзей[‘id’] | |
my_friends << my_id # чтобы меня не было в списке людей | |
человек = people.![]() | |
File.open(‘friends.html’,’w’) { |f| f.write Haml::Engine.new(page_template).render(Object.new, :people => люди, :names => имена) } | |
ставит «Ищите свой список в friends.html» |
Соглашение об именах / методология / БЭМ
Имя объекта БЭМ уникально. Одна и та же БЭМ-сущность всегда имеет одно и то же имя во всех технологиях (CSS, JavaScript и HTML). Основная цель соглашения об именах — придать именам смысл, чтобы они были максимально информативными для разработчика.
Сравните одно и то же имя для селектора CSS, написанного по-разному:
menuitemvisible
menu-item-visible
menuItemVisible
6
4
4
4
Чтобы понять значение имени, нужно внимательно прочитать каждое слово.
В последних двух примерах имя четко разделено на части. Но ни одно из этих названий не помогает нам понять, что
меню
это блок,пункт
это элемент, авидимое
это модификатор. Правила именования БЭМ-сущностей были разработаны для того, чтобы сделать имена сущностей однозначными и понятными.Правила именования
block-name__elem-name_mod-name_mod-val
Имена пишутся строчными латинскими буквами.
Слова разделяются дефисом (
-
).Имя блока определяет пространство имен для его элементов и модификаторов.
Имя элемента отделяется от имени блока двойным подчеркиванием (
__
).Имя модификатора отделяется от имени блока или элемента одним подчеркиванием (
_
).Значение модификатора отделяется от имени модификатора одним символом подчеркивания (
_
).Для логических модификаторов значение не включается в имя.
Важно: Элементы элементов не существуют в методологии БЭМ. Правила именования не позволяют создавать элементы из элементов, но вы можете вкладывать элементы друг в друга в DOM-дереве.
Примеры
В HTML объекты БЭМ представлены атрибутом
класса
. В БЭМ для любой из технологий есть вызов класса:CSS
JavaScript
шаблоны
Примеры правил именования применяются к CSS.
Имя блока
меню
Почему именам блоков не нужны префиксы?
HTML
...CSS
.menu { цвет: красный; }
Имя элемента
menu__item
Важно: Идентичные элементы в одном блоке имеют одинаковые имена.
Например, все пункты меню в блоке меню называются
menu__item
.HTML
... <промежуток>CSS
.menu__item { цвет: красный; }
Имя модификатора блока
menu_hidden
menu_theme_islands
HTML
...<дел> ...CSS
.menu_hidden { display: none; } .menu_theme_islands {цвет: зеленый; }
Имя модификатора элемента
menu__item_visible
menu__item_type_radio
HTML
<дел> ... ...