Для начала разберемся, какие задачи решает парсинг цен и остатков товаров. Интернет-магазина будет заниматься этим в 3 случаях:
- Интернет-магазин получает товары через посредника. В этой ситуации интернет-магазину нужно знать цены производителя или поставщика, а их парсинг экономит время на аналитику.
- Поставщик отдает цены в неудобном формате, например: поставщик присылает цены в сложном XLS, а интернет-магазин работает с программой или сервисом, которая его не поддерживает.
- Нужно сравнивать цены с конкурентами.
Во всех случаях это может быть единоразовый или периодический парсинг. Периодический отличается тем, что данные парсятся через определенный промежуток времени, например, раз в день.
Цены и остатки товаров стандартная цель парсинга, но есть свои особенности, к которым приходишь после работы с десятком подобных проектов. В статье вы узнаете:
- где искать цены и остатки товаров в коде
- о использовании shema.org при парсинге цен и остатков товаров
- как собирать и сравнивать данные (ключевые поля, форматы)
- законно ли парсить цены и остатки товаров
Где искать данные в коде
Обычно цены, скидки и остатки товары располагаются в коде, т.е. HTML-документе. Как на скриншоте:

Но иногда цены подгружаются отдельным ajax-запросом. В HTML-коде вы их не найдете и вам нужно будет искать данные в JSON-коде или отдельный запросах-ответах.
Советы:
- Цены на вариативные товары могут быть в зависимости от вариаций (цвета, размеры, и т.п.). Тогда парсите их с привязками.
- Если вам нужно выявить остаток товара на сайте-источнике, а на сайте его нет, то добавляете товары в корзину, пока это будет возможно.
Если это число меняется от товара к товару, то получаем количество товаров на складе. Если нет, то это стандартное ограничение.
Данные в shema.org
О shema.org мы уже писали в этой статье. Советуем прочитать ее, если не знаете, что за разметка и для чего она нужна. Чтобы не повторяться, рассмотрим частный случай.
В разметке нас интересуют поля price — цены и sku — остаток на складе. Выглядеть они будут примерно вот так:
|
<div itemscope itemtype=»http://schema.org/Product«> <h1 itemprop=»name»>название_товара</h1> <a href=»ссылка-на-увеличенное-изображение.jpg»> <img itemprop=»image» src=»ссылка_на_изображение» /> </a> <div itemprop=»offers» itemscope itemtype=»http://schema.org/Offer»> <meta itemprop=»price» content=»2000.00″> <meta itemprop=»sku» content=»50″> <meta itemprop=»priceCurrency» content=»RUB»> <link itemprop=»availability» href=»http://schema.org/InStock»> <div>В наличии</div> </div> <div itemprop=»description»>описание_товара</div> </div> |
Как собирать и сравнивать цены и остатки товара
Сравнивать цены и остатки товара будем по ключевому полю — артикул, т.е. название товара.
Советы:
- Сравнивайте розничные цены с розничными, оптовые — с оптовыми
- Выбирайте один и тот же регион — они могут меняться
Законно ли парсить цены и остатки товаров
Для начала разберемся к какой информации относятся цены и остатки товаров на сайте-источнике, и какие правовые акты на нее распространяются.
В соответствии со статьей №5 Закона «ОБ ИНФОРМАЦИИ, ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЯХ И О ЗАЩИТЕ ИНФОРМАЦИИ» информация о ценах и остатках товаров в магазинах относится общедоступной, т.к. нет закона ограничивающего доступ к такой информации. Это значит, что переписывать и снимать цены в магазине не запрещается, нарушений закона нет.
Теперь рассмотрим в каких ситуациях парсинг любой информации является законным. Парсинг является законным, если во время него не происходит нарушений установленных законодательством запретов:
- нарушение авторских и смежных прав
- неправомерный доступ к охраняемой законом компьютерной информации
- сбор сведений, составляющих коммерческую тайну, незаконным способом
- заведомо недобросовестное осуществление гражданских прав (злоупотребление правом)
- использование гражданских прав в целях ограничения конкуренции
Вот рекомендации, которых стоит придерживаться при парсинге:
- контент не должен быть защищен авторским правом
- процесс парсинга не должен мешать работе сайта
- парсинг не должен нарушать условия использования сайта
- парсер не должен извлекать личную информацию пользователя
У вас могут возникнуть вопросы насчет авторского права. Нарушает или нет это право парсинг. Нарушает, если владелец исключительных прав на контент определил ограничения на его использование. Однако, если мы говорим о артикулах, ценах, остаток товара и т.п., то авторское право на них не распространяется.
Таким образом, парсинг цен и остатков товаров является законным.
Заключение
Теперь вы знаете, для чего парсят цены и остатки товаров, где их искать в коде, как они представлены в разметке shema.org, как их собирать и сравнивать, юридические тонкости парсинга. Желаем удачи!