2 минуты на чтение Отправь статью на почту?

Node.js для сбора статистики

Подписаться
68

Компания «Цифровой Элемент» занимается как разработкой сайтов, так и SEO-продвижением. Для построения оптимальной стратегии необходимо проводить анализ по позициям. В этом помогает хорошо составленный отчёт. Он позволяет проанализировать рост и найти слабые стороны.

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

Сервис для отчётов от «Цифрового Элемента»

Наш сервис снимает с поисковых систем Яндекс и Google. Можно настроить отчёт:

  • по регионам;
  • по типам устройства (desktop или мобильные устройства);
  • по виду поисковых систем (только для Google, только Яндекс или по обоим сразу);
  • по определённым запросам и т.д.

На сервере мы используем три основные технологии. Это supervisor, Gearman и Node.js. Что же это и для чего они необходимы?

У node.js есть такая библиотека, как Puppeteer. Она позволяет открывать Google Chrome на сервере и отправлять через него запросы к сайтам, получая необходимую информацию.С её помощью мы можем обратиться в поисковик с нужным запросом, указав нужный тип устройства и регион. После обращения в результатах мы можем найти необходимый запрос и получить его позицию. Если в результатах нет нужного запроса, тогда переходим по постраничной навигации на следующие страницы. В итоге мы получаем ответ вида: поисковик, запрос, регион, позиция (либо отсутствие позиции).

Но node.js нужно запускать, а так же следить, чтобы не было миллиона открытых браузеров на сервере в один момент. В этих целях мы подключаем Gearman. Это сервер очередей, который позволяет разграничивать выполнение запросов через Node.js.

Для управлениями gearman выбрали supervisor. Он опрашивает gearman на наличие заданий, и если они находятся – он их запускает.

В процессе работе наш сервис порой встречается с определёнными проблемами. Например, вывод капчи, бан по ip-адресу. Мы всё это учли при разработке и если открывается какая-то новая проблема, мы решаем её и учитываем во время следующих проверок.

Вывод

Вышеописанная технология позволяет получать необходимые нам данные в автоматическом режиме. За счет этой технологии у нас есть отчеты в разрезе дней/месяцев с учётом региональности и вида устройства.

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

Популярное

Все статьи
Золотой партнер<br>1С-Битрикс
Золотой партнер
1С-Битрикс
Сертифицированное агентство <br>Яндекс.Директ
Сертифицированное агентство
Яндекс.Директ
Сертифицированное агентство <br>Google.AdWords
Сертифицированное агентство
Google.AdWords
Региональный партнер <br>Ru-center
Региональный партнер
Ru-center
Золотой партнер  <br>Битрикс24
Золотой партнер
Битрикс24