Как стать автором
Обновить

Комментарии 54

Лет 15 назад на полном серьёзе заинтересовался штрих-кодами. Но будучи совершенно юн, так и не понял, что можно сделать с базой, которую таке начал собирать. И конечно забросил.
Забавно, что эта странная идея пришла кому-то ещё в голову, и зашла намного дальше.
Впрочем, теперь монетизировать можно без проблем, написав мобильное приложение. Правда выхлоп будет копеечный.
Гугл давно умеет искать по штрихкодам. Товар одного и того же производителя может иметь несколько штрихкодов, а иногда после ребрендинга упаковки штрихкод сохраняется. Совершенно не ясно, что с ними делать.
Единственное, что приходит в голову — проверить, не является ли штрих-код явной подделкой. Скажем, покупаешь наушники, а гугл отвечает, что штрих-код принадлежит туалетному мылу.

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

В README.md гугл перевод?
As gratitude, you can mark this repository with an asterisk

А как правильно?
As gratitude, you can star this repository

Не то что бы там что то сильно не правильно. Просто бросается в глаза дословность.
Весьма забавно. Дело в том, что текст действительно переведен с помощью google translate. Но вот, наряду с другими мелочами, «as gratitude» было вручную вставлено вместо предложенного google'ом «as a thank you».

Мне эта база никаким боком не может понадобиться, но я почему-то все равно рад, что вы ее собрали и опубликовали. Спасибо.

Я отправлю инфо про китайский бренд.Черз 3 или 4 дня.
Спасибо. Мы постараемся включить их в базу как можно скорее и опубликовать в общем списке.
Интересно… получается что каждому товару выделяется некий шрихкод, и это соответствие достаточно однозначно? Получается, что есть некий центр выделения штрихкодов (или их диапазонов?), по типу организаций, занимающихся распределением IP адресов? Значит, все эти данные где-то хранятся официально?
И могут ли свободные штрихкоды закончиться?
Вот там автор вроде собирался ISBN получать. Было бы интересно почитать его новый пост на эту тему чего-там-как.
Не желая выдавать нужду за добродетель, сообщу, что мы рассчитывали каким-то образом монетизировать обсуждаемый справочник. Однако, заметных успехов на этой ниве за прошедшие годы нам достичь не удалось.

Почему так, если не секрет? Вот (https://www.barcodelookup.com/api) у людей, вроде как, вполне неплохие расценки за запросы к API стоят. Но, судя по беглому сравнению, у вас в базе намного меньше продуктов и меньше информации по каждому из них — правильно ли я понимаю, что это основная причина ваших проблем с монетизацией, или есть ещё какие-то?
так barcodelookup.com когда-то 3 года назад с 3 млн начинался(правда с постоянным пополнением) и доступ к api был бесплатный
У нас тоже есть api (http://www.uhtt.ru/dispatcher/ws/iface?wsdl) и тоже платный (1 копейка за одну товарную позицию). И им даже пользуются, однако это не приносит каких-либо значительных денег. Даже если бы мы увеличили расценки кратно — все равно. Возможно, мы не достаточно хорошо работали над вопросом.
>Собираем различные прайс-листы, открытые отчеты, в том числе государственных органов
И ещё, прошу прощения за глупый вопрос, а скрейпинг данных крупных интернет-магазинов в качества источника информации вы не пробовали использовать? Учитывая, что у вас нет серьёзных ограничений по времени работы краулера и вам не нужны актуальные данные о ценах (в отличие от моих задач на нынешней работе), думаю, можно было бы наскрести приличное количество данных с относительно небольшими трудозатратами (если не учитывать постобработку, конечно).
Нет не делали. Знаем, что такой подход существует и работает. В действительности, этот справочник лежит несколько в стороне от нашей основной деятельности, а скрейпинг требует дополнительный ресурсов на реализацию — просто руки не дошли.
Понятно. Спасибо большое за ответы и за то, что в открытом доступе наконец-то появился огромный справочник штрихкодов с наименованиями товаров, категориями и брендами. :)
не удаётся импортировать в mysql.
1 Invalid utf8 character string: '(z80-76-841/2) бумага albeo engineer paper, инженер' SQL1.sql 1 1
убираю остатки этой строки, появляется
1 Invalid utf8 character string: '3963351/5 противень универсальный 350x 370' SQL1.sql 1 1
Спасибо за замечание — мы поправим это.
для полноты данных было бы не плохо дать максимальную длину текстовых полей
Упс! Опять спасибо — 127 символов.
не, кажется есть больше.
Это почти невозможно. Вероятно, есть проблема с теми наименованиями, в которых встречаются упомянутые вами проблемы с utf-8. Мы в функцию формирования данных добавим валидацию и корректировку таких символов.
жду!
таких строк огромное количество. и куча строк просто обрезанных в длину 127 «однобайтовых символов».
Мы прогнали проверку текста и не нашли инвалидных utf-8 символов. Не могли бы вы скинуть скрипт, которым забираете в MySQL данные? Мы у себя прогоним его и исправим выявленные дефекты. Вам, естественно, сообщим.

я сделал несколько проверок — (для быстроты использовал первый файл из "набора")
открыл его в LibreOffice и просто сменил шрифт (к сожалению не обратил внимание на какой) — в результате проявились строки с "кривыми символами", причём и нормальные русские символы присутствовали. Есть подозрение, что есть строки и с UTF8 и с UNICODE. просто нулевые байты не отображаются в некоторых шрифтах. а в других воспринимаются как двухбайтовые.
я из LibreOffice "сохранил как" выбрал фильтр…
после этого с помощью dbForge удалось импортировать...(были танцы с бубном....)
далее проверка


SELECT
  uhtt_barcode_ref_0001_1.Name,
  BIT_LENGTH(uhtt_barcode_ref_0001_1.Name) / 8 AS expr1,
  CHAR_LENGTH(uhtt_barcode_ref_0001_1.Name) AS expr2
FROM uhtt_barcode_ref_0001_1
ORDER BY expr1 DESC

    |"28пан мороженое змж ванильно-шоколадное с прослойками джема киви и крыжовника декорированное шоколадной глазурью панда, 12% 500"|"229,0000"|127|
"(л) максидин 0.15 лечение ринитов, конъюнктивитов различной этиологии, при повреждениях глазного яблока у собак и кошек 5мл*100"|"225,0000"|127
"634369/1139 пчелодар шампунь-кондиционер оттеночный для собак и кошек с белой и светлой шерстью различных оттенков концентрат 1"|"225,0000"|127
"<супер рука> [материал: алюминий, пластик, резина, максимальная длина: 81см, длина в сложенном виде: 42см, подъем предметов вес"|"223,0000"|127
"(t) ГЕКСАДОГ (Merial) 1 доза +раствор (шестивалентная вакцина против чумы плотоядных, аденовирусной и парвовирусной инфекции, л"|"223,0000"|127
"(л) дана ультра спрей для собак для профилактики и борьбы с блохами, вшами, власоедами и другими насекомыми 100мл*20 новинка"|"220,0000"|124
"2605 зоомир акваконс против улиток - кондиционер для воды надежное избавление от улиток, пиявок, гидр, плоских червей 50мл*10"|"220,0000"|125

к сожалению нормальной таблицы сделать не удалось.
но тут видно, что длина в байтах не совпадает с длиной в символах

импортирую так


LOAD DATA LOCAL INFILE 'C:/Temp/zzz/UhttBarcodeReference-20180818/DATA/uhtt_barcode_ref_0001_1.csv'
INTO TABLE xxx
IGNORE 1 LINES

выдаёт


  • Invalid utf8 character string: '(z80-76-841/2) бумага albeo engineer paper, инженер'*

удалось импортировать так


LOAD DATA LOCAL INFILE 'C:/Temp/zzz/UhttBarcodeReference-20180818/DATA/uhtt_barcode_ref_0001.csv'
INTO TABLE xxx
CHARACTER SET `binary`
IGNORE 1 LINES

и "проверочный" запрос



SELECT
  BIT_LENGTH(uhtt_barcode_ref_0001_1.Name) / 8 AS expr1,
  CHAR_LENGTH(uhtt_barcode_ref_0001_1.Name) AS expr2,
  uhtt_barcode_ref_0001_1.Name
FROM uhtt_barcode_ref_0001_1
ORDER BY expr1 DESC</source>
показывает

    |229,0000|229|28пан мороженое змж ванильно-шоколадное с прослойками джема киви и крыжовника декорированное шоколадной глазурью панда, 12% 500|

хотя если вручную считать -  127 символов
А у меня с первого раза в mysql принять получилось. Я, правда, волшебником импорта пользовался (начал раньше, чем ответ от вас получил). Не может быть дело в изначальных параметрах создаваемой таблицы? (я не большой спец в mysql).

вот бы интересно как?
я сделал "исследование" — загруженное ранее с CHARACTER SET binary экспортировал в файл csv он у меня получился 384м, в то время как исходный 459м. и по новой импортировал — dbForge показывает 522м против 610м. так что я делаю вывод — у ребят проблема с кодировкой. и к тому же обрезает по 127 символов. это тоже не спроста…
и ещё в их ID дубликаты :)
и еще сделал такой запрос


  zzz.Name ,
  zzz.ID,
  zzz.UPCEAN,
  zzz.CategoryID,
  zzz.BrandID,
  zzz.BrandName
FROM zzz
WHERE zzz.Name LIKE '%аспирин%'</source>

в "первоначальном" импорте поиск 50 сек, в "повторном" импорте 10сек. что так же говорит о проблемах с кодировкой.
может быть дело в изначальных параметрах создаваемой таблицы?

я первым делом это всё перепробовал

Я, правда, волшебником импорта пользовался

возможно он игнорирует ошибочные данные?
производителя не даете?
В оригинальной базе данных производитель есть для ряда позиций, но там такая путаница и столько дубликатов, что пока решили не публиковать их в открытом доступе. Из соображения, что отсутствие данных лучше, чем плохие данные.
Человеческое спасибо! Попробую сличить эти данные со своими, если будут расхождения, вышлю Вам, или сообщу, что Ваша база полностью покрывает нашу скромную базочку. Но только когда будет время.
Зачем эта неполная база, часть кодов которой может быть невалидна и недостоверна, если есть сервисы от самой GS1, где всё можно пробить за 10 секунд?

А ещё зачинается GS1 Cloud, где всё это будет с API?
GS1 — только EAN.
И ean'ы не все (4041485044338 например — вполне популярный товар).
Весь список вы скорее всего не получите, соответственно, к примеру, сложный анализ большой выборки наименований провести будет не просто (или невозможно).
Можно продолжить.
Но самое главное, мы просто дарим справочник тем, кому он нужен. Кому — нет, тот ничего не теряет.
Так, хорошо. Согласен.
Тогда просто вопрос по теме — получается, если по шк 4041485044338 товар не бьётся через GS1 — значит, он там не был зарегистрирован, а просто «придумался» у производителя? или когда то был зарегистрирован, а потом потерял свою подписку?

И получается, что по сути, можно хоть 100 таких незарегистрированных товаров по одним шк вывести на рынок — от посудомойки до филе минтая — но это же официально ничего не значит, никакой реальной коллизии по сути не будет?

Этот код принадлежит очень приличному производителю. Поищите его в google — он более чем актуален (по крайней мере де-факто).
Тема регистрации штрихкодов у разных организаций относительно недавно обсуждалась на хабре. Мне к этому нечего добавить. В этой идентификации важен не столько официальный регистратор, сколько фактическое принятие операторами рынка.
Всё хорошо бьётся
Так это вы сами себе ответили. Производитель зарегистрирован, а данных о товаре нет. То есть накладки не будет, а вот информацию о том, что это за товар вы не получите. Я не к тому, что gs1 плохой, а к тому, что 1000 цветов лучше, чем 1.
Владелец ресурса olegon.ru (https://olegon.ru/showthread.php?t=26132) все недобрый словом поминал тех, кто его базу штрихкодов через пул IP прокси серверов парсит до полного изнеможения.
Эту базу можно было бы монетизировать, разработав продукт для 1с, прости господи. Так же есть приложение Rate&Goods. У них 12.5 миллионов штрихкодов, карточек товаров с картинками и разработанным готовым решением для автозаполнения по штрихкоду. СНГ и РФ сегмент. Так что в добавок к выше приведенным примерам, конкуренция не маленькая.
Согласен — в конфигурациях связанных с розницей (Розница, Управление торговлей и т.д.) можно было бы добавить обработку по заполнению справочников номенклатуры при приемке или инвентаризации товара. Это очень востребовано в небольших розничных сетях
По заполнению справочников номенклатуры в 1С «из облака» по артикулу — с удовольствием бы оформил подписку. Только нужно:
а) Префикс — русское наименование товара.
б) Наличие артикулов товаров в базе (они для нас гораздо более критичны, нежели штрих-коды. Особенности проектного бизнеса)
в) Возможность мэпить имеющиеся товарные труппы на свои.
г) Хорошая структурированность по части «ИТ товаров»

Ну и адекватная цена :)

PS. А то надоело читать бухгалтерии/помощницам менеджеров краткий курс «товароведение ИТ товаров». А заодно искать — что же они в этот раз накреативили в процессе переноса спецификации из проектной документации в 1С :)
Вот как раз на выходных начал делать свой маленький проектик для дома и как раз лучше всего дома искать вещи по штрих-кодам. Очень ваша база оказалась кстати, спасибо
Спасибо за базу. Но 3 млн — это действительно не много.
Вон, например, у Icecat в открытом доступе база 29 млн товаров, из которых у 12 млн есть хоть один EAN.
Подробности тут: iceclog.com/coverage-analysis-of-your-catalog
И вам спасибо за ссылку. Если нам удастся взять из той базы полезные данные, мы их выложим там же и в открытом доступе будет больше хороших данных. Ну и благодарим за то, что прижали наше самомнение — мы были уверены, что выложили самый большой объем — ошиблись.
Я не разбираюсь в штрих-кодах и особенностях их получения товарами, но давно страдаю по онлайн-сервису с базой товаров, где можно получить и внести сведения о разных товарах с указанием магазина, где он был куплен, и цены. Например, через сканирование QR-кода на чеке, или штрих-кода непосредственно на товаре, или вручную. А также чтоб о каждом товаре тут же можно было присобачить отзывы, внести его в избранное, или наоборот, в черный список, чтобы никогда больше не покупать. И в итоге получить собственный список постоянно покупаемых товаров с магазинами, где он есть, сравнением цен и прочими плюшками.
Может такое есть, но я не нашла. Есть сервисы отзывов, где товары каждый заводит кто во что горазд, есть личные списки покупок, где нет общих отзывов, есть приложения для ведения домашнего баланса… а вот объединить бы все это дело по штрих-коду, такое возможно вообще?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации