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

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

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

Самый лучший в мире руководитель

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

Вместо введения - зачем отслеживать упоминания?

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

Вообще есть несколько позиций в компании, кто заинтересован (или как минимум должен быть заинтересован) в отслеживании упоминаний, в том числе:

  • PR-менеджеры и специалисты по репутации

  • Growth-маркетологи и специалисты по лидогенерации

  • Product-менеджеры и команды разработки

  • SEO-специалисты и контент-маркетологи

Давайте разберемся по каждому конкретному случаю более предметно.

PR-менеджеры и специалисты по репутации

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

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

Growth-маркетологи и специалисты по лидогенерации

Если пиарщики и SERM специалисты работают с репутацией компании в вопросах отслеживания, то эти ребята нацелены на получение больше трафика и лидов.

Работа на острие вот то, для чего им важно работать с подобными инструментами. Мониторинг узких смысловых запросов, набирающих популярность, позволят заскочить в формирующийся тренд. Запросы вида — «как обойти cloudflare», «посоветуйте антидетект» или «инструмент для парсинга» и подобные нужно отрабатывать в моменте, чтобы не оставлять в заброшенной пару месяцев назад ветке комментарии вида — «попробуйте наш продукт» и не выглядеть спортсменом, который заявился на турнир не ради победы, а ради участия. Все уже давно забыли о том, что в гонке есть еще один бегун и чествуют победителей и тут появляется этот последний легкоатлет и пересекает финишную черту… Или вообще не пересекает, так как вместо финиша там уже проезжая часть (комментарии к ветке закрыты из-за длительного отсутствия активности).

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

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

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

Product-менеджеры и команды разработки

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

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

  • Сбор фиче-реквестов «в дикой природе»: Можно попытаться отлавливать жалобы юзеров на нехватку функций в профильных комьюнити, Telegram-чатах или комментариях на Dev to (вместо Dev to можно подставить любой другой околотематичный ресурс).

  • Мониторинг технических сбоев: Если у команды не настроен мониторинг доступности продукта это конечно максимально странно, и тем не менее, при помощи мониторинга соцсетей можно узнавать о проблемах с геоблокировками прокси, отвалившемся API и т.п. мелких проблемах. Но повторюсь, если такая информация будет доходить до команды через мониторинг активности пользователей, вы что-то делаете неправильно.

  • Анализ фич конкурентов: Отслеживание того, как аудитория реагирует на свежие обновления конкурентов, чтобы не повторять их ошибок.

SEO-специалисты и контент-маркетологи

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

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

Сколько стоит узнать, что о вас говорят?

С ЦА разобрались, и механизм в целом понятен, какие есть варианты и сколько же это стоит?

Собственно вариантов мониторинга у вас два:

  • вручную пылесосить поисковые выдачи на Reddit, VC ru, Хабре, Dev to, Medium и т.п. ресурсах. искать комментарии, копировать ссылки в бесконечные таблицы и далее их обрабатывать.

  • Использовать специализированные сервисы, которые по АПИ дергают нужную вам информацию, и дают возможность реагировать на упоминание внутри своего сервиса.

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

По какой-то причине все сервисы мониторинга упоминаний дико дорогие, и нацелены на крупные площадки, готовые платить за доступ к сервису баснословные деньги. Минимальная подписка на такие сервисы около 200-250 долларов в месяц (и надо понимать что функционал там урезанный. Надо больше — плати больше.

И 250 долларов это еще недорого, есть площадки с ценником в 500к+ за доступ к мониторингу. Для соло-специалистов это прям много.

Таков путь

Я поработал и руками и через сервисы. 

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

Так и родился Brand Mention Radar — open-source ORM/OSINT-инструмент на TypeScript (сервис мониторинга запросов для б̶е̶д̶н̶ы̶х̶  экономных.). Это далеко не очередной дашборд за $99/мес, а простая CLI-утилита, которая позволяет собирать данные об упоминании конкретных ключевых слов на таких площадках, как Хабр, Medium, Reddit, VC, Dev to.

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

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

Сам парсер будет лежать на моем Гитхабе (AlexWebfolio) в репозитории brand-mention-radar.

Что под капотом

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

Я учел этот момент на входе, чтобы инструмент можно было масштабировать и подключать к нему другие площадки. Сам парсер имеет модульную систему на базе паттерна Template Method. В нем есть базовый класс Scraper, который берет на себя всю «грязную» работу:

  1. Поднимает браузер.

  2. Настраивает прокси и геолокацию.

  3. Обрабатывает капчи и делает ретраи.

  4. Фильтрует результаты от шума.

А уже конкретные скраперы (в текущей реализации это HabrScraper, RedditScraper, VCRuScraper, DevToScraper и MediumScraper) наследуют этот класс и реализуют один метод — scrapeKeyword(keyword). Добавление новой площадки занимает немного времени: создали класс, добавили логику парсинга, вписали одну строку в массив scrapers оркестратора index.ts — и всё работает.

На выходе, независимо от площадки, мы получаем единый интерфейс данных, на примере одного ключевого запроса имеем вот такую структуру:

{
  "platform": "Habr",
  "type": "post", // разделение post/comment критично для оценки веса упоминания
  "keyword": "antidetect browser",
  "title": "Антидетект-браузеры: почему мультиаккаунтинг вообще работает",
  "link": "https://habr.com/ru/articles/1036480/",
  "date": "2026-05-18T13:24:09+00:00"
}

Площадки не защищаются и при чем тут резидентные прокси?

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

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

Stealth-браузер и реалистичный контекст

В парсере используется playwright-extra в связке с плагином puppeteer-extra-plugin-stealth. Тут нет какой-то глубокой подмены, использую их стандартные возможности. 

При запуске браузера маскируются типичные маркеры автоматизации: удаляется navigator.webdriver, подменяется WebGL-фингерпринт, добавляются фейковые плагины.

Окно не висит в пустоте: скрипт задает реалистичный viewport (1366x768), локаль (en-US), таймзону и правильные заголовки Accept-Language.

Прокси - важная составляющая парсера

Наличие прокси в случае с парсером это не столько маскировка, сколько инструмент, позволяющий достучаться до нужного ресурса с правильного IP-адреса. Тут надо пояснить: У меня в подборке есть ресурсы, которые пускают к себе только с российских IP-адресов, так и те, которые пускают на сайт только с зарубежных. Естественно, нужно разделять, если мы хотим получить полную картину.

Для донора IP-адресов я использую прокси-провайдера NodeMaven, и это не случайно. У NodeMaven, помимо того, что они выдают качественный пулы IPшников, так реализована выдача прокси, что для смены ГЕО достаточно поменять префикс и вы подключитесь к нужному ГЕО. 

Вот наглядный пример, был у нас вот такой логин username-country-us-region-california-sid-2t3y4j5hg66-filter-medium, тут мы видим префикс us, что дает возможность подключится к IP-адресу из США. 

Если мы изменим us на ru и получим логин вот такого вида username-country-ru-region-california-sid-2t3y4j5hg66-filter-medium, мы подключимся к российскому IP.

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

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

Так как Chromium не поддерживает авторизацию через SOCKS5-прокси, я прикрутил сюда локальный ProxyBridge на базе proxy-chain. Схема работы такая:

  1. Playwright стучится на локальный порт 127.0.0.1:<random_port> без пароля.

  2. Поднятый мост перехватывает трафик и форвардит его на внешний SOCKS5 gate:1080, подмешивая логин и пароль.

  3. После сбора данных мост аккуратно закрывается.

Рефералку тут к сожалению не прикрутить, но если хорошо почитать файл Readme на Гитхаб, можно ее найти. Ищущий да обрящет.

Специфика площадок: 5 оттенков парсинга

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

VC ru (Внутренний JSON-API): Их публичный поиск (/search?query=...) — это SPA. Искать там контент через HTML-селекторы бесполезно. Вместо этого мы сначала «прогреваем» сессию на главной странице (чтобы пройти проверку на бота), а затем отправляем запросы напрямую в api.vc.ru/v2.6/search.

Habr (JSON-API «kek»): Хабр отлично отдает данные через свой kek-API.

Reddit (DOM-парсинг): Здесь работает классический браузерный парсинг HTML с плавным скроллом страницы. Мы собираем не только посты, но и вытаскиваем тексты из контейнеров комментариев.

Dev to (Algolia API): Forem (движок Dev to) использует Algolia. Парсер вытаскивает их публичные search-only ключи и отправляет POST-запросы напрямую.

Medium (GraphQL -> DOM): Medium работает на GraphQL, но воспроизводить их запросы ненадежно (постоянно меняются подписи). Поэтому мы парсим отрендеренный DOM, вытаскивая статьи с помощью эвристики ссылок по 12-символьному hex-хэшу на конце URL.

Фильтрация шума и результаты работы

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

В режиме FILTER_MODE=any инструмент проверяет, есть ли в заголовке хотя бы одно значимое слово из ключа или его синоним (antidetect ↔ антидетект ). В режиме strict — требует точного совпадения всех слов.

На выходе парсер пишет результат в JSON файл и дублирует его в CSV, можно забирать таблицу, выгружать ее в Google Sheets и брать в работу 

Что дальше?

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

Еще один момент — я добавил сюда в виде заглушки CaptchaSolverService нужно будет только вставить свой ключ АПИ и при появлении капчи парсер будет решать их на автомате.

Такой вот подход к решению задачи по отслеживанию упоминаний бренда в сети.