Как я могу найти данные о книге по ее номеру штрих-кода?[закрыто]

StackOverflow https://stackoverflow.com/questions/106963

Вопрос

Я создаю самое простое в мире библиотечное приложение.Все, что мне нужно, это сканировать UPC (штрих-код) книги с помощью обычного сканера (который просто вводит цифры штрих-кода в поле), а затем использовать его для поиска данных о книге...как минимум, название, автор, год публикации и либо десятичный номер Дьюи, либо каталожный номер Библиотеки Конгресса.

Цель состоит в том, чтобы распечатать крошечную наклейку («этикетка на корешке») с номером карточного каталога, которую я могу приклеить на корешек книги, а затем я смогу сортировать книги по номеру карточного каталога на полках в библиотеке нашей компании.Таким образом, книги по схожим темам будут располагаться рядом друг с другом. Например, если вы знаете, что ищете книгу по бухгалтерскому учету, все, что вам нужно сделать, это найти НЕКОТОРУЮ книгу по бухгалтерскому учету, и вы увидите еще полдюжины что у нас есть прямо рядом с ним, что позволяет удобно просматривать библиотеку.

Кажется, для этого существует множество веб-API, включая Amazon и Библиотеку Конгресса.Но все это меня очень сбивает с толку.На самом деле мне нужна одна функция более высокого уровня, которая принимает номер штрих-кода UPC и возвращает некоторые основные данные о книге.

Это было полезно?

Решение

На ISBNDB.com есть очень простое веб-решение, которое вы, возможно, захотите посмотреть.

Редактировать: Обновлена ​​ссылка на документацию API, теперь доступна и версия 2.

Ссылка на цены и уровни здесь

Вы можете начать работу всего за несколько минут (эти примеры взяты из API v1):

  • зарегистрируйтесь на сайте и получите ключ для использования API
  • попробуйте URL-адрес типа:

    http://isbndb.com/api/books.xml?access_key={твой ключ}&index1=isbn&results=details&value1=9780143038092

Результат=детали получает дополнительную информацию, включая каталожный номер карты.

Кроме того, обычно штрих-код — это isbn либо в isbn10, либо в isbn13.Вам просто нужно удалить последние 5 цифр, если вы используете сканер и набираете 18 цифр.

Вот пример ответа:

<ISBNdb server_time="2008-09-21T00:08:57Z">
  <BookList total_results="1" page_size="10" page_number="1" shown_results="1">
    <BookData book_id="the_joy_luck_club_a12" isbn="0143038095">
      <Title>The Joy Luck Club</Title>
      <TitleLong/>
      <AuthorsText>Amy Tan, </AuthorsText>
      <PublisherText publisher_id="penguin_non_classics">Penguin (Non-Classics)</PublisherText>
      <Details dewey_decimal="813.54" physical_description_text="288 pages" language="" edition_info="Paperback; 2006-09-21" dewey_decimal_normalized="813.54" lcc_number="" change_time="2006-12-11T06:26:55Z" price_time="2008-09-20T23:51:33Z"/>
    </BookData>
  </BookList>
</ISBNdb>

Другие советы

Примечание:Я парень из LibraryThing, так что это частичная самореклама.

Взгляни на этот ответ StackOverflow, в котором описаны некоторые хорошие способы получения данных по заданному ISBN.

Для решения ваших проблем Amazon включает простой DDC (Дьюи);Гугл нет.API WorldCat поддерживает эту функцию, но для ее использования необходимо быть библиотекой OCLC.

Вопрос ISBN/UPC сложен.Предпочитайте ISBN, если сможете их найти.На книгах в мягкой обложке для массового рынка иногда присутствуют UPC снаружи и ISBN внутри.

Члены LibraryThing разработали несколько страниц, посвящённых этой проблеме и усилиям по их сопоставлению:

Если вы покупаете у Borders, все штрих-коды вашей книги будут покрыты собственными внутренними штрих-кодами (так называемыми «BINC»).Самое неприятное, что какой бы клей они ни использовали, со временем его становится все труднее и труднее удалить.Я не знаю ни одного API, который их конвертирует.LibraryThing делает это путем очистки экрана.

В качестве API я бы выбрал Amazon.LibraryThing — хороший вариант без API, разрешающий BINC и добавляющий DDC и LCC для книг, в которых их нет, если посмотреть на другие издания «работы».

Чего не хватает, так это этикетки.Для этого кому-то нужно создать хороший шаблон PDF.

Редактировать Было бы довольно легко, если бы у вас был ISBN.но конвертировать UPC в ISBN не так просто, как хотелось бы.

Вот некоторый код JavaScript для этого из http://isbn.nu где это сделано в скрипте

if (indexisbn.indexOf("978") == 0) {
   isbn = isbn.substr(3,9);
   var xsum = 0;
   var add = 0;
   var i = 0;
   for (i = 0; i < 9; i++) {
        add = isbn.substr(i,1);
        xsum += (10 - i) * add;
   }
   xsum %= 11;
   xsum = 11 - xsum;
   if (xsum == 10) { xsum = "X"; }
   if (xsum == 11) { xsum = "0"; }
   isbn += xsum;
}

Однако это преобразуется только из UPC в ISBN. некоторый времени.

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

Итак, вы знаете о Веб-сервисы Amazon.Но это предполагает, что у Amazon есть книга и она отсканирована в UPC.

Вы также можете попробовать База данных UPC в http://www.upcdatabase.com/item/{UPC}, но это тоже неполнота - по крайней мере растёт..

Библиотека базы данных конгресса также пока неполна с помощью UPC (хотя она довольно обширна), и ее сложнее автоматизировать.

В настоящее время кажется, что вам придется написать это самостоятельно, чтобы иметь высокоуровневый поиск, который возвращает простую информацию (и пробует каждую службу)

Похоже на работу, которую можно поручить небольшой компании-разработчику программного обеспечения...

Если серьезно, существуют службы, обеспечивающие интерфейс к каталогу ISBN www.literarymarketplace.com.

На сайте worldcat.com вы можете создать URL-адрес, используя ISBN это приведет вас прямо на страницу с описанием книги.Эта страница не так уж полезна, потому что для получения данных все еще выполняется очистка HTML, но у них есть ссылка для загрузки данных книги в нескольких «стандартных» форматах.

Например, их демо-книга: http://www.worldcat.org/isbn/9780060817084Имеет ссылку для скачивания в формате EndNote. http://www.worldcat.org/oclc/123348009?page=endnote&client=worldcat.org-detailed_record, и вы можете очень легко собрать данные из этого файла.Это связано с их собственным номером OCLC, а не с ISBN, но конвертировать его несложно, и у них еще может быть хороший интерфейс для этого.

Моя жена-библиотекарь использует http://www.worldcat.org/, но они отключают ISBN.Если ты сможешь это отсканировать, ты золотой.Глядя на несколько книг, кажется, что UPC аналогичен ISBN или связан с ним.

Ой, эти парни есть функция преобразования из UPC в ISBN.

Использование веб-сайта Библиотечная вещь, вы можете сканировать свои штрих-коды (весь штрих-код, а не только ISBN — если у вас есть сканирующий «клин», вам повезло) и создать свою библиотеку.(Это отличная социальная сеть — вспомните StackOverflow для книголюбов.)

Затем с помощью раздела ИНСТРУМЕНТЫ вы сможете экспортировать свою библиотеку.Теперь у вас есть текстовый файл для импорта/анализа, и вы можете создавать этикетки, карточный каталог и т. д.

Боюсь, проблема в доступе к базе данных.Компании платят за присвоение UPC, поэтому к базе данных нет свободного доступа.А База данных UPC сайт, упомянутый Филиппом, является началом, как и UPCData.info, но они вводятся пользователем, что означает неполноту и, возможно, неточную информацию.

Вы всегда можете ввести СКП в Google и получить результат, но это не очень автоматизировано.Но в большинстве случаев он все делает правильно.

Мне показалось, что я помню, как Джон Уделл делал что-то подобное (например, видеть это), но это было чисто на основе ISBN.

Похоже, вы нашли новый проект, над которым можно поработать!

Если вы хотите использовать Amazon, вы можете легко реализовать это с помощью LINQ для Amazon.

Работая в мире библиотек, мы просто подключаемся к пропуску LMS в штрих-коде, и вот, данные возвращаются.Я считаю, что существует ряд бесплатных поставщиков LMS - Google для «lms с открытым исходным кодом».

Примечание:Вероятно, это работает с ISBN...

Вы можете найти инструмент поиска ISBN, реализованный на PHP, по адресу Доусон Интерактив.

Я часто рекомендую использовать Партнерский API продукта Amazon (проверьте это здесь https://affiliate-program.amazon.com), однако есть и несколько других вариантов.

Если вы хотите гарантировать точность данных, вы можете воспользоваться платным решением.ГС1 — это организация, которая выдает коды UPC, поэтому их информация всегда должна быть точной (https://www.gs1us.org/tools/gs1-company-database-gepir).

Существует также ряд сторонних баз данных с соответствующей информацией, такой как https://www.upccodesearch.com/ или https://www.upcdatabase.com/ .

Ничего подобного ответу спустя почти 5 лет после свершившегося факта, но вот моя пара блестящих пенни того стоит.

В настоящее время я создаю что-то, что отлично справится с этой задачей... https://blinked.in - база данных штрих-кодов UPC/EAN13 быстро становится крупнейшей (только за последнюю неделю мы добавили более 7 миллионов штрих-кодов), хотя мы все еще находимся на альфа-стадии разработки, мы представляем очень простой и недорогой API для обеспечить именно такой доступ к данным.

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

Надеюсь, это каким-то образом поможет вам или кому-то из будущих читателей.

Обновлено

Наш API теперь доступен - https://blinked.in/api - и мы сделали 100 бесплатных звонков в день, и вы можете заработать кредит, помогая нам находить новые штрих-коды - https://blinked.in/bandwidthaccount

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top