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

69

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

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

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

Теги:
barcode
amazon
language-agnostic

13 ответов

64
Лучший ответ

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

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

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

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

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

    http://isbndb.com/api/books.xml?access_key= {yourkey} &index1=isbn&results=details&value1=9780143038092 index1 &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>
16

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

Посмотрите https://stackoverflow.com/questions/41469/how-to-fetch-a-book-title-from-an-isbn-number, в котором описаны некоторые хорошие способы получения данных для данного ISBN.

К вашим проблемам, Amazon включает простой DDC (Dewey); В Google нет. API WorldCat работает, но для его использования вам нужна библиотека OCLC.

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

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

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

Для API я бы пошел с Amazon. LibraryThing - хороший вариант без API, разрешение BINC и добавление DDC и LCC для книг, которые их не имеют, просматривая другие выпуски "работы".

Не хватает части ярлыка. Кому-то нужно создать для него хороший шаблон PDF.

8

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

Вот код javascript для него из http://isbn.nu, где он был сделан в script

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 Web Services. Но это предполагает, что Amazon имеет книгу и сканируется в UPC.

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

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

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

  • 2
    Я надеялся, что у кого-то уже есть код, который сделал это, поэтому мне не пришлось читать 8000 страниц документации AWS. Все небольшие библиотечные приложения уже делают это. Есть какой-то способ конвертировать UPC в ISBN, который я тоже не понимаю.
  • 1
    Этот код преобразует isbn13 в ISBN10. Это не имеет ничего общего с кодами UPC.
Показать ещё 7 комментариев
3

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

Более серьезно, есть службы, которые предоставляют интерфейс к каталогу 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, но царапины для преобразования, что не сложно, и у них может быть хороший интерфейс для этого.

2

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

О, эти ребята имеют функцию для преобразования из UPC в ISBN.

1

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

1

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

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

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

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

1

Используя веб-сайт Library Thing, вы можете сканировать штрих-коды (весь штрих-код, а не только ISBN), если у вас есть сканирование "клина" вам повезло) и построить вашу библиотеку. (Это отличная социальная сеть - подумайте о StackOverflow для энтузиастов книг.)

Затем, используя раздел TOOLS, вы можете экспортировать свою библиотеку. Теперь у вас есть текстовый файл для импорта/анализа и может создавать ваши ярлыки, каталог карт и т.д.

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

Я часто рекомендую использовать API-интерфейс Affiliate Product Affiliate API (здесь https://affiliate-program.amazon.com), однако там есть еще несколько доступных вариантов.

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

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

0

Как насчет outpan.com? 20 миллионов книг, доступных через веб-сайт и API, полностью бесплатны. Лучше всего работает с ISBN-13

0

Вы можете найти PHP-инструмент для поиска ISBN в Dawson Interactive.

0

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

Примечание. Это, вероятно, работает с ISBN...

-2

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

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

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

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

Обновление

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

  • 0
    Сайт ВНИЗ.
  • 2
    Сервис не существует

Ещё вопросы

Сообщество Overcoder
Наверх
Меню