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


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

Выходные форматы

Перед началом парсинга необходимо определиться что мы хотим получить на выходе и для каких целей, то есть с форматом выходных данных. Чаще всего на выходе получают таблицы в xls или cvs формате с построчным описанием каждого товара. Такой формат подходит для импорта таблиц в cms типа Bitrix. 
Выбор формата становится сложнее если необходимо парсить карточки товаров с вариативностью. В одну ячейку таблицы с характеристикой не вместится несколько пунктов, тогда нужно либо дублировать строку с новым идентификатором, либо использовать форматы xml, json или xml. Подробнее форматы для парсинга мы писали в этой статье.
В любом случае с форматом парсинга нужно определиться до его начала, основываясь на типе карточек, вашем сайте и используемой системе

Инструменты для мониторинга

Скрипт на вашем сервере

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

Сервисы для парсинга

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

Как собрать ссылки на товары и категории

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

Парсеры

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

Перебор

Если ссылки составлены по одному шаблону, например ../tag-000001. то можно перебрать все варианты по порядку, хотя метод тоже ненадёжный.

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

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

Парсинг картинок

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

Парсинг характеристик

Характеристики парсятся в двух случаях, чтобы вставить их временной затычкой, либо что бы оставить их в качество полноценного описания. Рекомендуем не оставлять чужие описания, во-первых, они плохо повлияют на индексирования вашего сайта, так как будут считаться дубликатом с чужих сайтов, во-вторых они с большой вероятностью могут оказаться некачественными или не соответствовать реальностью. Но если вы считаете первоисточник достаточно надежным, то важно скопировать технические характеристики достаточно качественно, ведь они тщательно просматриваются пользователями и влияют на вероятность приобретения товара.
Вы можете отбирать описания по ключевым значениям, типа «Вес кг», «Объём памяти», или отсеивать их по классам в html разметке.
Полученную информацию можно разместить в электронной таблице, главное следить за дробными числами, что бы они не превратились в даты. Если артикул товара начинается с ряда нулей, эксель просто удалит их, и артикул потеряет свой смысл. Для предотвращения таких ошибок, указывайте ключевой символ в начале строки, например, апостроф, это предохранит вас от возможных ошибок, главное не забудьте удалить его перед загрузкой на сайт.

Парсинг описаний

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

Парсинг карточек с вариативностью

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

Составление структуры сайта конкурента

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

Обход защиты от парсинга

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

Сколько потребуется времени на парсинг одного магазина

В среднем на один запрос с прокси сервера и получение информации о товаре уходит около 2 секунд. На крупных сайтах находится до 500 000 товаров, значит на парсинг одного магазина уходит около 280 часов. Что бы уменьшить требуемое время вы можете посылать одновременно множество запросов, главное выставить случайную периодичность что бы сайт не воспринял это как DDoS-атаку, в противном случае прокси может быть занесён в черный список сайта.

Сколько стоит парсинг одного сайта

Давайте посчитаем сколько будет стоить каждый этап мониторинга и итоговую цену. Парсинг товаров магазина обходится в среднем в 2000-3000 рублей и может увеличиться в зависимости от размера магазина, оплата прокси стоит 1000 рублей. Получается около 4000 рублей на один средний магазин, но для парсинга крупного сайта с вариативными товарами нужно будет в 3-4 раза больше средств, и это только один сайт, а ведь у вашего магазина множество конкурентов. В то же время, максимальная подписка на AllRival стоит всего 8500 рублей, в которую входит полный мониторинг сайта и анализ ценовой политики и ситуации на рынке с отчётами в удобном для вас формате. 

Переход к демонстрации

Опишите в двух словах сферу вашей деятельности и укажите ваш E-mail. По желанию расскажите в комментарии любую дополнительную информацию или задайте нам вопросы.

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