- PVSM.RU - https://www.pvsm.ru -
Добрый день.
В открытом доступе наконец-то появился огромный справочник штрихкодов с наименованиями товаров, категориями и брендами.
Мы работаем над ним лет 8 и теперь в нем около 3 миллионов штрихкодов в стандартах EAN (EAN-13, EAN-8) и UPC (UPC-A, UPC-E).
Там таблица, содержащая записи штрихкодов и соответствующие им наименования товаров, во всех записях есть категория и во многих — бренд.
Спектр представленных товаров очень широкий. Тяжелой техники там нет, но потребительские сегменты присутствуют, вероятно, все (фармацевтика, парфюмерия, косметика, продукты питания, игрушки, sexshop-ассортимент, книги, канцелярия, метизы, инструменты и т.д. и т.п.)
Оригинальная он-лайновая версия справочника хранится на сервере Universe-HTT.
Открытая версия размещена на github'е [1]. Обратите внимание на то, что в исходниках хранится фрагментированная база данных. Полный файл находится в релизе [2].
Те, кто искал (чаще всего безуспешно) в интернете или где-либо еще справочник штрихкодов и так знает зачем он нужен. Для остальных перечислю полезные свойства такого обширного массива данных:
Приведенные варианты и их возможные вариации довольно банальны. Есть и куда более интересные применения этого справочника:
База данных представлена текстовым файлом в кодировке UTF-8 с полями, разделенными символом табуляции.
Структура записи следующая:
Внутренние идентификаторы едва ли кому интересны — мы их выгружаем только для собственных целей (если вдруг понадобится точно идентифицировать ссылку на запись при возникновении каких либо вопросов со стороны).
Записи в свободно распространяемом формате отсортированы по наименованию товара в алфавитном порядке.
Если вы внимательно изучите представленные данные, то заметите, что в отличии от большинства, имеющихся в интернете аналогичных справочников (и платных и бесплатных), над наименованиями товаров была проведена интенсивная работа.
Пара слов о том, как мы это делаем.
Прежде всего, справочник (администрируемый в системе OpenPapyrus [3]) подвергается автоматическому процессингу с помощью технологии, которую я как-то описывал на Хабре [4].
Хотел бы сказать, что упомянутая технология все за нас делает. Но, увы. Большой объем работы приходится делать в полу-автоматическом и ручном режимах.
Многие наименования приходится «дешифровывать» — в первоисточнике они могут содержать немыслимые сокращения и полностью пренебрегают нашей системой именования товаров :)
Все штрихкоды, опубликованные в открытом доступе, гарантированно прошли проверку на соответствие одному из 4-х стандартов: EAN-13, EAN-8, UPC-A, UPC-E и включают контрольную цифру. Возможные дефекты и проблемы опишу ниже.
На типичный вопрос «все ли штрихкоды есть в справочнике?» ответ стереотипен: нет и быть не может.
Если оценивать полноту справочника по вероятности отсутствия там штрихкода, который случайно попался вам на глаза, то это будет процентов 10-15 (очень грубая моя собственная оценка, к тому же, сами понимает, предвзятая). В любом случае, ничего похожего по размеру в открытом доступе больше нет
Географический охват (по странам, в которых товары продаются) значителен: Россия, Украина, Беларусь, США, Великобритания, Европейский Союз, ЮАР, Бразилия, Малайзия и многие иные.
Языки представления главным образом русский и английский. Источники с остальными языками мы обычно игнорируем, поскольку ничего в тех языках не смыслим (в виде исключения встречаются позиции на испанском, чешском, и прочих языках).
Мы обновляем справочник на сервере Universe-HTT с периодичностью в несколько месяцев (когда накапливаем в предварительном буфере достаточный объем данных). Последний раз заливали данные в июне этого года. Совсем новые позиции там скорее всего отсутствуют. Однако, хотя это и покажется удивительным, новые штрихкоды появляются не так уж часто. Многие товары с одними и теми же кодами продаются в ритейле годами.
Открытую версию справочника так же планируем время от времени обновлять.
Из каких источников все эти данные мы берем? В основном, из интернета. Собираем различные прайс-листы, открытые отчеты, в том числе государственных органов (например, некоторые штаты в США публикуют данные о закупках).
Справочник содержит ряд дефектов. Их не много, но сообщить о них необходимо.
В первую очередь, попадаются штрихкоды, которые по ошибке трактуются как UPC-A в то время как на самом деле это — EAN-13 без контрольной цифры. Причина в том, что первоначальный источник (мы уже не знаем какой) содержал код EAN-13 без контрольной цифры, но
последняя цифра удовлетворяла правилу расчета контрольной цифры для UPC-A и наш скромный алгоритм посчитал этот код за относящийся к UPC-A. Это можно было бы поправить, но заметили слишком поздно и руки не дошли до массовой корректировки.
Проблем такого рода исчезающе мало, но, как говорится, увы.
Далее, есть путаница в товарах. То есть, в некоторых (крайне редких случаях) штрихкоду соответствует наименование, совсем к нему не относящееся.
Некоторые штрихкоды могут быть приватными. Те EAN-13, которые начинаются на 2 мы отбрасываем на старте, но иногда что-то идет не так и попадаются приватные коды, либо начинающиеся на '2', либо те, что начинаются с какой-то иной цифры, являясь тем не менее частными, не зарегистрированными ни в какой из организаций, занимающихся этим (GS1, например).
Как мы не старались наладить хорошую классификацию справочника — удалось не много. Треть позиций принадлежит группе default — то есть абсолютно не классифицирована. Остальные вполне могут иметь ошибочную принадлежность категориям.
Далеко не все товары ассоциированы с брендами, хотя мы и очень трудились над этим вопросом.
Если у вас есть желание помочь в расширении справочника, то мы будем благодарны за присланные данные об известных вам штрихкодах. Я сильно сомневаюсь, что найдутся желающие, но на всякий случай сообщаю, что по информации в профиле найти меня не сложно.
Тот, кто имеет возможность реализовать автоматическую классификацию элементов справочника и поделится идеями и наработками, получит титул невероятно любезного человека. Мы же со своей стороны обязуемся информировать общественность об успехах собственных изысканий в этой области.
Если вам понравился справочник, то отметьте его на github'е [1] звездочкой. Если он вам очень понравился — отметьте звездочкой еще и проект OpenPapyrus [3], ибо все администрирование и управление справочником осуществляется с его помощью.
Нет никаких. Как хотите, так и используйте. Если дадите ссылку на нас — спасибо, нет — переживем.
Не желая выдавать нужду за добродетель, сообщу, что мы рассчитывали каким-то образом монетизировать обсуждаемый справочник. Однако, заметных успехов на этой ниве за прошедшие годы нам достичь не удалось. Посему решили: пусть лучше будет общий, чем пропадет нахрен. Как-то так выглядят наши мотивы для означенного действа.
Спасибо за внимание.
Автор: antonsobolev
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/obrabotka-danny-h/289834
Ссылки в тексте:
[1] github'е: https://github.com/papyrussolution/UhttBarcodeReference
[2] в релизе: https://github.com/papyrussolution/UhttBarcodeReference/releases
[3] OpenPapyrus: https://github.com/papyrussolution/OpenPapyrus
[4] которую я как-то описывал на Хабре: https://habr.com/post/202502/
[5] Источник: https://habr.com/post/420585/?utm_campaign=420585
Нажмите здесь для печати.