Добрый день. Мы собираем информацию о товарах, и среди этой информации есть штрихкоды. Мне показалось, что именно они имеют ценность в том числе в отрыве от остальных данных, и что их проще всего выложить в открытый доступ. Получилась база на 1 816 200 записей. Товары из нее встречались в продаже на российском рынке в период с начала 2021 до средины ноября 2022 года, это отличает нашу базу от некоторых других, которые есть в свободном доступе.

Где скачать?

Скачать можно на гитхабе либо у нас на сайте. База представлена в двух форматах:

  1. CSV (barcodes_csv.zip). Файл формата csv можно открыть в текстовом редакторе. Блокнот справляется с файлом такого размера.

  1. SQLite: (barcodes_db.zip). Файл barcodes.db является файлом базы данных SQLite. Его можно открыть в программе "DB Browser for SQLite". Сайт: https://sqlitebrowser.org. Скачать: https://sqlitebrowser.org/dl/

В обоих случаях структура записи следующая:

  • Id — идентификатор, уникальный в рамках таблицы.

  • Category — категория товарав том же виде, что и в источнике, где найден штрих-код. Мы старались брать наиболее конкретную категорию в иерархии.

  • Vendor — бренд товара.

  • Name — название товара.

  • Article — артикул производителя товара.

  • Barcode — штрихкод.

Какие категории представлены?

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

Откуда данные?

Мы собрали их своими силами за два года. Мы парсим довольно много сайтов, больше трехсот, но медленно, на самые популярные приходится 2-3 запроса в минуту, на менее популярные — несколько запросов в час. С посещенных страниц мы забираем название товара, его цену, описание, характеристики и ссылки на изображения. Если по разметке страницы можно выделить категорию, бренд, артикул в отдельные поля — выделяем, если нет — оставляем название как есть. В итоге у нас получилась база, где есть 70 миллионов товаров, 160 миллионов изображений и миллиард с небольшим характеристик.

Среди характеристик иногда встречаются штрихкоды. Именно их я собрал в отдельный файл и выложил в открытый доступ.

Стоит оговориться, что это сырые данные, и среди них могут встречаться ошибки. Например, не все из штрихкодов пройдут валидацию по какому-либо из стандартов: EAN-13, EAN-8, UPC-A или UPC-E. Кроме того, некоторые штрихкоды встречаются больше одного раза. Это тоже объяснимо: значит, они встречались на нескольких разных сайтах, и, скорее всего, ссылаются на один и тот же товар. Но не обязательно: некоторые компании сами придумывают штрихкоды для своей продукции по принципу “подойдут любые 13 цифр”.

Что мы делаем с этими данными?

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

Раскрою тему. У нас есть большая база товаров. У клиента есть каталог его товаров (либо каталоги его поставщиков). Мы сопоставляем свои товары товарам из каталога клиента, и это позволяет автоматически найти изображения для товаров и заполнить характеристики. Об этом я уже написал несколько статей с довольно подробным описанием используемых подходов и алгоритмов: про сопоставление товаров, про автоматическое создание карточек, про поиск похожих товаров, про быстрый поиск по неточному соответствию среди ста миллионов записей.

Соответственно, штрихкоды участвуют в двух процессах: 

  1. Их совпадение является фактором, который позволяет (после некоторых дополнительных проверок) рассматривать товары из разных источников как один и тот же товар.

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

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

В общем, мы делаем PIM-систему, и у нее есть некоторые возможности по автоматизации ручного труда.

Как вы можете использовать эти данные?

Как угодно. Никаких ограничений или условий нет. Мы просто делимся справочником с теми, кому он нужен. Кому нет, тот ничего не теряет.

Зачем это нужно нам?

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

Комментарии (7)



  1. alexsibtone
    16.11.2022 08:38
    +1

    Привет всем.
    Напомню, есть: barcodes.olegon.ru


  1. Chuvi
    16.11.2022 10:40
    +4

    уточните, пожалуйста, в чём смысл жать текстовые файлы в zip перед выкладыванием в гит? Чтобы по ним не работал diff?


    1. Razoomnick Автор
      16.11.2022 14:17
      +1

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

      Что касается работы diff, то если буду делать обновление регулярным, добавлю несжатую версию.


  1. Popadanec
    16.11.2022 11:11

    У EAN-13 какая то беда с контролем. Постоянно попадаются разные товары которые зарегистрированы на один код. К этому ещё добавляются производители, которые периодически зачем то меняют ШК на упаковке(вес, количество остаётся теми же).
    Плюс избранные могут вообще не печатать его на упаковке, печатать с ошибками(так что ни один сканер не считывает) или в низком разрешении.


    1. Naf2000
      16.11.2022 11:30

      Согласен, изгадили хорошую идею


    1. makapohmgn
      17.11.2022 10:21

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