Поднимаем Сервис Мониторинга Цен Конкурентов

Любой, кто работает в сфере электронной коммерции, рано или поздно сталкивается с необходимостью быть первым среди конкурентов.

Одним из наиболее эффективных инструментов в этом вопросе является управление ценами.

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

В интернете очень много разных сервисов, но они по тем или иным причинам не подошли.

Способы получения информации о ценах конкурентов

  1. Самый простой и эффективный способ мониторинга цен на данный момент – это прайслаб .

    Но проверять можно только те товары, которые уже участвуют в Яндекс.

    Маркете.

    То есть ваш основной конкурент должен быть в Яндекс.

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

    Какие недостатки это влечет за собой? Учитывая, что в Яндекс.

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

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

  2. Проведите переговоры с сотрудником конкурента.

    Это не совсем правильный и честный путь.

    Поэтому его сразу отвергают.

  3. Парсинг сайта конкурента.

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

    Это будет описано ниже.

Инструменты
  1. База данных.

  2. Алгоритм разбора.

Исторически интернет-магазин был основан на 1С-Битрикс, поэтому мониторинг цен был написан на PHP. Но это неправильный подход, поэтому алгоритм парсинга в Node.js будет описан ниже.

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

Создадим таблицу конкурентов: конкуренты

  
  
  
   

CREATE TABLE panda.competitors ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(50) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;

Далее нам нужен URL-адрес продуктов и список элементов в HTML-документе.

Создайте таблицу списков элементов: конкуренты_селектор

CREATE TABLE panda.competitors_selector ( id int(11) NOT NULL AUTO_INCREMENT, competitor_id int(11) DEFAULT NULL, selector varchar(255) DEFAULT NULL, use_status CHAR(20) DEFAULT 'unused', PRIMARY KEY (id) ) ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;

Создаем таблицу, в которой будут храниться url, цены и т.д.: данные_конкурентов

CREATE TABLE panda.competitors_data ( id INT(11) NOT NULL AUTO_INCREMENT, competitor_id INT(11) DEFAULT NULL, sku INT(11) DEFAULT NULL, competitor_url VARCHAR(255) DEFAULT NULL, competitor_price INT(11) DEFAULT NULL, competitor_response_ms INT(11) DEFAULT NULL, competitor_price_status CHAR(20) DEFAULT 'created', last_update_unixtime INT(11) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;

Пример заполнения таблицы конкурентов:

Поднимаем сервис мониторинга цен конкурентов

Пример заполнения таблицы конкуренты_селектор:

Поднимаем сервис мониторинга цен конкурентов

Пример заполнения таблицы конкуренты_данные:

Поднимаем сервис мониторинга цен конкурентов

Данные конкурента_селектора заполняются на основе селекторов:

Поднимаем сервис мониторинга цен конкурентов



Поднимаем сервис мониторинга цен конкурентов

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

Существует огромное количество парсеров на различных языках программирования.

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

Сам модуль умещается в 149 строк и имеет под капотом отличный парсер контента.

приветствие .

Давайте немного модифицируем модуль, добавив в обратный вызов объект $.



Поднимаем сервис мониторинга цен конкурентов

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

Здесь в игру вступают данные конкуренты_селектора.

В настройках запроса выставим максимум 5 редиректов, юзер-агент как яндекс бот и таймаут 2 секунды.

Для загрузки html мы используем библиотеку иголка .

Для упрощения формирования запросов к базе данных воспользуемся шаблонизатором.

шаблонный .

Запросы к БД: сбросселекторсстатус.

sql

UPDATE

Теги: #node.js #электронная коммерция #MySQL #парсинг #цена #node.js #Разработка для электронной коммерции

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.