Решаем задачу ежедневного отслеживания всех постов с определенным хештегом в ВК. Нужно собирать статистику - лайки, просмотры, комментарии - и складывать все в таблицу.
Полезно для: SMM-щиков, маркетологов, аналитиков и всех, кто работает с упоминаниями в соцсетях.
В статье разберем: как настроить автоматический сбор данных через VK API, обработку информации и сохранение в Google Таблицы.
Что получится
- Система по расписанию сама ищет новые посты с хештегом
- Собирает всю статистику по каждому посту (просмотры, лайки, комментарии, репосты)
- Записывает все в Google Таблицы без дублей
Инструменты
- n8n - для автоматизации
- VK API - для поиска постов и получения данных
- Google Sheets - для хранения результатов
Весь процесс состоит из 10 узлов в n8n, которые работают как конвейер - каждый делает свою часть работы.
!!! Больше кейсов? Переходите на наш канал “AI для продакта”.
Схема workflow
Вот как выглядит наш процесс:
- Schedule Trigger - запускает процесс по расписанию
- Настройка параметров - задаем хештег, токен VK и временные рамки поиска
- Поиск постов - ищем посты через VK API
- Обработка постов - извлекаем нужные данные из ответа API
- Получить пользователей - запрашиваем данные о владельцах личных страниц
- Получить группы - запрашиваем данные о группах/пабликах
- Чтение таблицы - читаем существующие данные из Google Sheets
- Финальная обработка - объединяем все данные и готовим к записи
- Запись в таблицу - сохраняем результат в Google Sheets
Узлы 5, 6 и 7 работают параллельно после узла 4, а потом все данные сходятся в узле 8.
Детальная настройка
1. Schedule Trigger - запуск по расписанию
Первый узел просто запускает весь процесс по расписанию. В нашем случае настроен на каждый день в 6:00 утра.
Настройки:
- Тип узла: Schedule Trigger
- Правило: Interval
- Режим: Every Day
- Час: 6 (можно поставить любое удобное время)
Никаких сложных настроек тут нет - просто выбираете когда хотите запускать мониторинг.
2. Настройка параметров поиска
Здесь задаем все переменные, которые понадобятся для работы с VK API.
Тип узла: Set (Edit Fields)
Переменные:
- hashtag - хештег для поиска (без #)
- vk_token - токен доступа к VK API
Как получить access_token ВКонтакте читайте здесь. - start_time - начало периода поиска
- end_time - конец периода поиска
Формулы для времени:
Ищем за последние 2 дня для надежности
start_time: {{ Math.floor((new Date().getTime() - 2*24*60*60*1000) / 1000) }}
До текущего момента
end_time: {{ Math.floor(new Date().getTime() / 1000) }}
VK API работает с временными метками в формате Unix timestamp, поэтому переводим обычное время в секунды.
3. Поиск постов через VK API
Теперь идем искать посты с нашим хештегом.
Тип узла: HTTP Request
Настройки:
- URL: https://api.vk.com/method/newsfeed.search
- Метод: GET
- Параметры запроса:
q = #{{ $json.hashtag }} (хештег с решеткой)
access_token = {{ $json.vk_token }}
v = 5.131 (версия API)
count = 200 (максимум постов за запрос)
start_time = {{ $json.start_time }}
end_time = {{ $json.end_time }}
VK API вернет JSON с массивом найденных постов в поле response.items. Каждый пост содержит кучу информации - ID, текст, дату, статистику и т.д.
4. Обработка найденных постов
Здесь превращаем сырые данные от VK в понятный формат.
Тип узла: Code (JavaScript)
Что делает код:
- Берет массив постов из ответа API
- Преобразует timestamp в нормальную дату и время
- Определяет тип аккаунта (группа или личная страница)
- Формирует ссылки на профили
- Извлекает статистику (просмотры, лайки, комментарии, репосты)
- Разделяет ID пользователей и групп для следующих запросов
Скачать код для узла можно тут
Ключевая логика:
// Определяем тип аккаунта по ID
const isGroup = post.owner_id < 0;
const accountType = isGroup ? 'паблик' : 'личная страница';
// Формируем правильную ссылку
const link = `https://vk.com/${isGroup ? 'club' + Math.abs(post.owner_id) : 'id' + post.owner_id}`;
На выходе получаем обработанные посты плюс списки ID пользователей и групп.
5. Получение данных о пользователях
Чтобы знать не только статистику постов, но и размер аудитории автора, запрашиваем данные о пользователях.
Тип узла: HTTP Request
Настройки:
- URL: https://api.vk.com/method/users.get
- Параметры:user_ids = {{ $json.user_ids }} (список ID через запятую)
fields = followers_count (количество подписчиков)
access_token и v - как обычно
6. Получение данных о группах
То же самое, но для групп и пабликов.
Тип узла: HTTP Request
Настройки:
- URL: https://api.vk.com/method/groups.getById
- Параметры:group_ids = {{ $json.group_ids }}
fields = members_count (количество участников)
7. Чтение существующих данных из таблицы
Этот узел читает то, что уже есть в Google Sheets. Нужно чтобы не дублировать посты и правильно вести счетчик дней.
Тип узла: Google Sheets
Операция: Read
Настройка подключения к Google Sheets:
- Создайте Service Account в Google Cloud Console
- Скачайте JSON-ключ и загрузите его в n8n (Settings → Credentials → Google Service Account) или вставьте при настройки подключения
О том, как подключаться к Google можно посмотреть тут. - Дайте этому аккаунту доступ к вашей таблице (Share → добавить email из Service Account с правами редактора)
Настройки узла:
- Документ: выберите вашу Google Таблицу
- Лист: "Мониторинг" (или как назвали свой лист)
Просто читаем все данные из листа. Дальше в коде будем проверять, какие посты уже есть в таблице.
8. Финальная обработка - объединяем все данные
Самый сложный узел. Здесь собираем все кусочки в единое целое.
Тип узла: Code
Что происходит:
- Читаем данные от всех предыдущих узлов
- Создаем словари пользователей и групп (ID → имя + количество подписчиков)
- Для каждого поста создаем уникальный ID: owner_id_post_id
- Проверяем, есть ли пост уже в таблице
- Если больше 7 дней - исключаем из обработки
- Формируем финальную структуру данных
Зачем счетчик дней: Этот счетчик используется в других workflow для обновления статистики по уже найденным постам. Отслеживаем посты только первую неделю.
Скачать код для узла можно тут.
9. Запись в Google Sheets
Последний шаг - сохраняем все собранные данные в таблицу.
Тип узла: Google Sheets
Операция: Append or Update
Настройки:
- Документ: выбираем нужную Google Таблицу
- Лист: "Мониторинг" (ваше название листа)
- Режим: Append or Update (добавляет новые строки или обновляет существующие)
- Ключ для сопоставления: "Уникальный ID поста"
Структура данных таблицы:
- Дата публикации
- Время
- Тип (паблик/личная страница)
- Ссылка на аккаунт
- Название страницы
- Количество подписчиков/друзей
- Количество просмотров
- Количество лайков
- Комментарии
- Репосты
- ID пользователя/группы
- Уникальный ID поста
- День отслеживания
Благодаря режиму "Append or Update" новые посты добавляются, а для существующих обновляется счетчик дня.
Результат
После настройки получаем полностью автоматический мониторинг. Каждый день система:
- Ищет новые посты с вашим хештегом
- Собирает детальную статистику по каждому
- Добавляет информацию об авторах (имена, размер аудитории)
- Ведет счетчик дней для дальнейшей работы с данными
- Сохраняет все в удобной таблице без дублей
Можно настроить любую частоту запуска и легко адаптировать под другие хештеги или даже другие соцсети.
Готовый workflow
Не хотите настраивать все с нуля? Можете скачать готовый workflow по ссылке и импортировать в свой n8n. Останется только:
- Получить токен VK API
- Настроить подключение к Google Sheets
- Указать свой хештег
- Выбрать удобное время запуска
!!! Больше кейсов? Переходите на наш канал “AI для продакта”.