Как загрузить товары поставщика в магазин и автоматически обновлять цены

Магазин, который продаёт товары под заказ или со склада поставщика, живёт его данными. Названия, фото, характеристики, цены и остатки нужно сначала перенести на свой сайт, а потом держать в актуальном состоянии. Пока товаров десятки, с этим справляется контент-менеджер. Когда их тысячи и поставщиков несколько, ручная работа превращается в постоянное отставание. Цена на сайте уже не та, товара давно нет, а новинки появляются у конкурентов раньше. Ниже разбираем, какие есть способы получить каталог поставщика, где проходят юридические границы парсинга, какие проблемы чаще всего встречаются у владельцев магазинов и на что смотреть при выборе парсера товаров.
Откуда брать товары поставщика — фид, прайс или парсинг
Парсинг сайта поставщика — не единственный и не первый способ получить его каталог. Перед настройкой парсера стоит спросить у поставщика, в каком виде он отдаёт данные дилерам.
- Товарный фид YML или XML. Самый удобный вариант. Формат YML придуман Яндексом для Маркета и Директа, в нём у каждого товара есть цена, старая цена, наличие, фото и артикул. Многие поставщики держат такой фид по постоянной ссылке.
- Прайс в Excel или CSV. Самый распространённый вариант у небольших поставщиков. Прайс приходит на почту или лежит на сайте, а загружается модулем импорта.
- API поставщика. Крупные дистрибьюторы дают доступ к API с остатками по складам и персональными ценами. Это самый точный источник, но под него обычно нужна доработка.
- Выгрузка из 1С. Обмен в формате CommerceML подходит, если у вас и у поставщика один учёт или поставщик готов настроить выгрузку.
- Парсинг сайта поставщика. Нужен, когда поставщик ничего из перечисленного не даёт, а товары, фото и цены есть только на его сайте. Ещё один частый сценарий — прайс с ценами есть, а фото и характеристик в нём нет.
На практике способы часто совмещают. Описания и фото один раз собирают парсером с сайта поставщика, а цены и остатки потом ежедневно обновляют из прайса или фида.
Законно ли парсить сайт поставщика
Сам по себе автоматический сбор открытых данных с сайта законом не запрещён. Вопросы возникают из-за того, что именно собирается и как потом используется.
- Право на базу данных. По статье 1334 ГК РФ изготовителю базы данных принадлежит исключительное право извлекать из неё материалы. Если в базе не меньше 10 000 самостоятельных элементов, закон по умолчанию считает, что на её создание ушли существенные затраты. Каталог крупного поставщика под это определение подходит, поэтому копирование всего каталога или его существенной части без согласия владельца рискованно.
- Фотографии товаров. Фото охраняются авторским правом. Суды взыскивают компенсацию за каждый снимок, и даже в мягких делах это от 10 000 рублей за фотографию.
- Тексты описаний. Авторское описание товара тоже может быть объектом авторского права. Голые характеристики вроде размеров, веса и материала охраняются слабее, чем оригинальный текст.
- Нагрузка на сайт. Частые запросы без пауз могут замедлить сайт поставщика. Это повод для блокировки и портит отношения с партнёром.
Самая надёжная защита — письменное согласие. Поставщику выгодно, чтобы его товары продавались, поэтому разрешение использовать фото и описания для дилеров обычно дают без проблем. Достаточно письма или пункта в договоре. С парсингом сайта стороннего магазина или конкурента ситуация другая, его каталог и фото вам никто не разрешал. Статья носит общий характер, в спорной ситуации лучше проконсультироваться с юристом.
Типичные проблемы парсинга товаров
Вопросы о парсинге на форумах владельцев магазинов из года в год повторяются. Большинство проблем возникает при повторных запусках и обновлениях, сам первый сбор данных обычно проходит гладко.
- Дубли товаров. Повторный запуск создаёт копии вместо обновления существующих карточек. Причина в том, что парсер не знает, по какому полю сопоставлять товар. Надёжный ключ — артикул поставщика или адрес страницы источника.
- Смена вёрстки источника. Поставщик обновил дизайн сайта, и правила, по которым парсер находил цену и фото, перестали работать. Хороший парсер показывает ошибки по каждой ссылке и не записывает в магазин пустые цены.
- Блокировки и капча. Сайт поставщика ограничивает частые запросы или прячет данные за защитой от ботов. Капчу честный парсер не обходит, в таких случаях проще договориться о фиде.
- Данные на JavaScript. Цена или наличие подгружаются скриптом после открытия страницы, и обычный запрос их не видит. Для таких сайтов нужен режим сбора через браузер.
- Перезапись ручных правок. Контент-менеджер переписал описание и обработал фото, а очередное обновление вернуло всё как было. Нужна возможность обновлять только выбранные поля, например цену и наличие.
- Исчезнувшие товары. Поставщик убрал товар из каталога, а на вашем сайте он висит в наличии. Владельцы магазинов называют отслеживание изменений ассортимента главной сложностью, обновить цены по артикулу намного проще.
- Разные артикулы у поставщиков. Один и тот же товар у двух поставщиков называется и кодируется по-разному. Без общего ключа, например штрихкода EAN, сведение превращается в ручную работу.
- Таймауты хостинга. На обычном хостинге скрипт ограничен по времени работы, и обработка тысяч страниц за один запуск обрывается на середине. Помогает очередь, которая обрабатывает ссылки порциями и продолжает с места остановки.
- Тяжёлые и чужие фото. Картинки по ссылкам с чужого сервера пропадают вместе с товаром у поставщика, а оригиналы по несколько мегабайт тормозят каталог. Фото лучше скачивать к себе и сжимать.
Как обновлять цены и остатки товаров поставщика
Первичная загрузка каталога — разовая задача. Обновление цен и остатков поставщика идёт постоянно, и от него зависит, сможет ли магазин выполнить заказ.
- Частота обновления. Цены и наличие стоит обновлять минимум раз в сутки, а для ходовых товаров и нестабильных цен чаще. Запуск по расписанию настраивается через cron на хостинге.
- Только нужные поля. При ежедневном обновлении трогайте цену, старую цену и остаток. Названия, описания и фото после ручной обработки лучше не перезаписывать.
- Наценка и округление. Наценку удобно задавать правилом при загрузке, процентом или фиксированной суммой. Цены после наценки стоит округлять до красивых значений.
- Минимальная розничная цена. Многие поставщики запрещают продавать ниже рекомендованной цены. Проверьте условия договора до того, как ставить автоматические скидки.
- Валюта. Если поставщик даёт цены в долларах или юанях, пересчёт по курсу нужно делать при каждом обновлении. Курс, зафиксированный при первой загрузке, быстро устаревает.
Устаревшая цена грозит и прямыми потерями. Предложение товара на сайте с ценой и описанием по статье 494 ГК РФ считается публичной офертой, поэтому заказ по старой низкой цене может закончиться спором с покупателем. Регулярное обновление цен поставщика снимает эту проблему.
Отдельный вопрос — что делать с товаром, который исчез у поставщика. Удалять карточку сразу невыгодно, страница могла набрать трафик из поиска. Обычно товар помечают «нет в наличии» и оставляют страницу с похожими товарами. Если товар снят с производства навсегда, страницу перенаправляют 301-редиректом в категорию или на замену.
Карточки товаров после импорта и SEO
Импорт товаров поставщика заполняет каталог быстро, но карточки получаются такими же, как у всех, кто взял тот же каталог. Это стоит учитывать при продвижении.
- Дубли описаний. Google не наказывает магазины за описание производителя, это подтверждал Джон Мюллер из Google в 2021 году. Но если одинаковый текст стоит на сотне сайтов, поиск показывает в выдаче один из них. Уникальные описания для главных и самых продаваемых товаров дают магазину шанс быть этим сайтом.
- Title и description по шаблону. Для тысяч карточек метатеги удобно собирать шаблоном из названия, категории, бренда и цены. Это лучше, чем пустые поля или копия заголовка.
- ЧПУ для новых товаров. Импортированные товары часто остаются без человекопонятных адресов. Их нужно сгенерировать сразу после загрузки, пока страницы не попали в индекс.
- Характеристики в атрибутах. Размеры, материал и цвет полезнее загружать отдельными характеристиками, текст в описании для этого не подходит. Тогда по ним работают фильтры каталога и сравнение товаров.
- Фото и alt. У скачанных фото стоит заполнить подписи alt по названию товара и убрать водяные знаки поставщика, если он это разрешает.
Что должен уметь парсер товаров для магазина
Парсеров товаров много, от облачных сервисов до модулей, которые работают прямо в админке магазина. Независимо от вида, при выборе парсера стоит проверить несколько вещей.
- Проекты под каждый источник. У каждого поставщика своя вёрстка, поэтому правила сбора хранятся отдельно и переносятся между проектами.
- Тест одной карточки. Перед массовым запуском парсер показывает, что он нашёл на одной странице — название, цену, фото и характеристики.
- Предпросмотр без записи. Итог с наценкой и заменами виден до того, как товар появится в магазине.
- Режимы добавления и обновления. Можно только добавлять новые товары, только обновлять существующие или делать и то и другое.
- Выборочное обновление полей. Ежедневно меняются цена и наличие, а ваши описания и фото остаются нетронутыми.
- Наценка и замены. Правила наценки, замена слов и удаление лишних фрагментов вроде контактов поставщика выполняются при загрузке.
- Характеристики с группами. Параметры переносятся в атрибуты магазина с разбивкой по группам.
- Очередь задач. Ссылки обрабатываются порциями, с паузой, продолжением и повтором ошибок, поэтому большой каталог не упирается в лимиты хостинга.
- Запуск по расписанию. Обновление по cron без участия человека.
- Сбор через браузер. Отдельный режим для сайтов, где цена и наличие подгружаются скриптом.
Полезно обратить внимание и на честность описания. Ни один парсер не гарантирует сбор с любого сайта, потому что всё зависит от устройства и защиты источника. Хороший продавец парсера предлагает прислать ссылку на категорию и пример товара, чтобы проверить источник до покупки.
Законно ли парсить сайт поставщика товаров для своего интернет-магазина?
Автоматический сбор открытых данных с сайта поставщика законом не запрещён. Ограничения связаны с правами на базу данных по статье 1334 ГК РФ и с авторским правом на фото и описания. Самый надёжный путь — получить письменное согласие поставщика на использование фото и описаний, обычно его дают дилерам без проблем.
Можно ли использовать фото товаров с сайта поставщика в интернет-магазине?
Фотографии товаров охраняются авторским правом, поэтому для их использования нужно разрешение правообладателя. Суды взыскивают компенсацию за каждый снимок, даже в мягких делах от 10 000 рублей за фотографию. Если поставщик разрешает дилерам использовать свои фото, это стоит закрепить письмом или пунктом в договоре.
Что лучше для загрузки товаров поставщика — парсинг сайта или фид?
Фид YML или XML надёжнее парсинга сайта поставщика, потому что не ломается при смене дизайна и не создаёт нагрузку на сайт. Парсинг нужен, когда поставщик не даёт ни фида, ни прайса, ни API. Часто способы совмещают и берут фото с описаниями парсером, а цены и остатки из прайса.
Почему при повторном парсинге в интернет-магазине появляются дубли товаров?
Дубли товаров появляются, когда парсер не может сопоставить новые данные с уже загруженными карточками. Для сопоставления нужен постоянный ключ, например артикул поставщика или адрес страницы товара у источника. Перед первым массовым запуском стоит проверить, по какому полю парсер ищет существующие товары.
Как часто обновлять цены и остатки товаров поставщика на сайте магазина?
Цены и остатки товаров поставщика стоит обновлять минимум раз в сутки, а для ходовых позиций чаще. Обновление удобно запускать по расписанию через cron на хостинге. Цена на сайте считается публичной офертой, поэтому устаревшая низкая цена может закончиться спором с покупателем.
Как обновлять цены товаров парсером и не затирать отредактированные описания?
Нужен режим выборочного обновления, в котором парсер меняет только указанные поля. Для ежедневного запуска обычно выбирают цену, старую цену и наличие. Названия, описания и фото после ручной обработки остаются нетронутыми.
Что делать с товаром, который пропал из каталога поставщика?
Удалять карточку товара сразу невыгодно, если страница уже получает трафик из поиска. Обычно товар помечают «нет в наличии» и показывают на странице похожие товары. Если товар снят с производства навсегда, страницу перенаправляют 301-редиректом в категорию или на замену.
Будут ли проблемы с SEO, если взять описания товаров у поставщика?
Google не наказывает интернет-магазины за описания производителя, это подтверждал Джон Мюллер из Google. Если одинаковый текст стоит на многих сайтах, поиск показывает в выдаче только один из них. Уникальные описания для ключевых и самых продаваемых товаров повышают шанс магазина оказаться этим сайтом.
Почему парсер не видит цену товара на сайте поставщика?
Часто цена или наличие подгружаются скриптом уже после открытия страницы, и обычный запрос парсера получает страницу без них. Для таких сайтов нужен режим сбора через браузер. Ещё одна причина — поставщик сменил вёрстку, и старые правила сбора перестали находить нужные элементы.
Может ли парсер товаров обойти капчу и защиту сайта от ботов?
Добросовестный парсер товаров капчу и защиту от ботов не обходит. Если сайт поставщика закрыт такой защитой, надёжнее договориться о фиде, прайсе или доступе к API. Попытки обхода защиты портят отношения с поставщиком и могут закончиться блокировкой.
Почему парсинг большого каталога товаров обрывается на хостинге?
На обычном хостинге время работы одного скрипта ограничено, поэтому обработка тысяч страниц за один запуск обрывается. Помогает парсер с очередью, который обрабатывает ссылки порциями. Такая очередь позволяет ставить сбор на паузу, продолжать с места остановки и повторять ссылки с ошибками.
Как проверить, подойдёт ли парсер товаров для сайта конкретного поставщика?
Перед покупкой парсера стоит проверить сбор на одной карточке товара этого поставщика. Хороший парсер показывает найденные название, цену, фото и характеристики до записи в магазин. Многие продавцы парсеров предлагают прислать ссылку на категорию и пример товара, чтобы проверить источник заранее.