2008-09-20 15 views
69

Estoy construyendo la aplicación de biblioteca más simple del mundo. Todo lo que quiero hacer es escanear en el UPC (código de barras) de un libro usando un escáner típico (que simplemente escribe los números del código de barras en un campo) y luego usarlo para buscar datos sobre el libro ... en un mínimo, título, autor, año publicado, y el número de catálogo Dewey Decimal o Library of Congress.¿Cómo puedo buscar datos sobre un libro a partir de su número de código de barras?

El objetivo es imprimir una pequeña pegatina ("etiqueta vertebral") con el número de catálogo de la tarjeta que puedo poner en el lomo del libro, y luego puedo ordenar los libros por número de catálogo en las estanterías de nuestra biblioteca de la empresa. De esa manera, los libros sobre temas similares tenderán a estar cerca el uno del otro, por ejemplo, si sabes que estás buscando un libro sobre contabilidad, todo lo que tienes que hacer es encontrar ALGÚN libro sobre contabilidad y verás la otra media docena que tenemos justo al lado, lo que hace que sea conveniente navegar por la biblioteca.

Parece que hay muchas API web para hacer esto, incluidas Amazon y la Biblioteca del Congreso. Pero todos son extremadamente confusos para mí. Lo que realmente quiero es una sola función de nivel superior que tome un número de código de barras UPC y devuelva algunos datos básicos sobre el libro.

Respuesta

60

Hay una solución basada en la web muy directa en ISBNDB.com que es posible que desee mirar.

Editar: Actualizado enlace de documentación de la API, ahora hay versión 2 disponible, así

http://isbndb.com/api/v1/docs

http://isbndb.com/api/v2/docs

Puede estar en funcionamiento en pocos minutos (estos ejemplos son de API v1):

  • regístrese en el sitio y obtenga una clave para usar t API que
  • tratar una URL como:

    http://isbndb.com/api/books.xml?access_key={} yourkey&index1=isbn&results=details&value1=9780143038092

Los resultados = detalles obtiene datos adicionales, incluyendo el número de catálogo de tarjetas.

Como un aparte, generalmente el código de barras es el ISBN en cualquiera ISBN10 o ISBN13. Solo tiene que eliminar los últimos 5 números si está utilizando un escáner y recoge 18 números.

Aquí está un ejemplo de respuesta:

<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> 
8

Editar Sería muy fácil si tuviera ISBN. pero la conversión de UPC a ISBN no es tan fácil como te gustaría.

Aquí hay algo de código Javascript para ello desde http://isbn.nu lugar donde se haga en escritura

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; 
} 

Sin embargo, eso sólo convierte a partir de la UPC ISBN alguna parte del tiempo.

Es posible que desee ver también el barcode scanning project page, el viaje de una persona para escanear libros.

Así que usted sabe acerca de Amazon Web Services. Pero eso supone que Amazon tiene el libro y lo ha escaneado en la UPC.

También puede probar el UPCdatabase en http://www.upcdatabase.com/item/ {UPC}, pero esto también es incompleta - por lo menos está creciendo ..

La biblioteca de base de datos congreso también es incompleta con los códigos UPC hasta el momento (aunque es bastante completa) , y es más difícil de automatizar.

En la actualidad, parece que tendría que escribir esto por sí mismo con el fin de tener una consulta de alto nivel que devuelve información sencilla (y trata cada servicio)

+2

Lo que esperaba era que si alguien ya tuviera un código que hiciera esto, no tuviera que leer 8000 páginas de la documentación de AWS. Todas las pequeñas aplicaciones de la biblioteca ya lo hacen. Hay alguna forma de convertir los UPC a ISBN que tampoco entiendo. –

+1

Ese código está convirtiendo isbn13 a ISBN10. No tiene nada que ver con los códigos UPC. – stevenf

+0

@stevenf - incorrecto. El UPC en * most * books es el ISBN10 con el número 978 o 979 anexado. en UPC, los primeros 3 números codifican el país de origen, y 978-979 se asigna a "Bookland". Por lo tanto, si bien no hace otra cosa que quitar el código de país y la suma de comprobación (si se escanean), sí tiene algo que ver con los códigos UPC. –

2

Mi esposa bibliotecario utiliza http://www.worldcat.org/, pero tecla OFF ISBN. Si puedes escanear eso, eres oro. Al mirar algunos libros, parece que la UPC es la misma o está relacionada con el ISBN.

Oh, these guys tienen una función para hacer la conversión de UPC a ISBN.

3

suena como el tipo de trabajo que se podría obtener una pequeña empresa de software que haga por ti ...

Más en serio, hay servicios que proporcionan una interfaz al catálogo de ISBN, www.literarymarketplace.com.

En worldcat.com, puede create a URL using the ISBN que le llevará directamente a una página de detalles del libro. Esa página no es muy útil porque todavía es un raspado de HTML para obtener los datos, pero tienen un enlace para descargar los datos del libro en un par de formatos "estándar".

Por ejemplo, su libro de demostración: http://www.worldcat.org/isbn/9780060817084 Tiene un enlace de descarga formato "nota final" http://www.worldcat.org/oclc/123348009?page=endnote&client=worldcat.org-detailed_record, y se puede cosechar los datos de ese archivo muy fácilmente. Eso está vinculado a su propio número de OCLC, no el ISBN, pero el raspado para convertir no es difícil, y aún pueden tener una buena interfaz para hacerlo.

1

Usando el sitio web Library Thing, puede escanear sus códigos de barras (el código de barras completo, no solo el ISBN - si tiene un escaneo de "cuña" tiene suerte) y construir su biblioteca. (Es una excelente red social - piensa StackOverflow para los amantes del libro.)

Luego, utilizando la sección de herramientas, puede exportar la biblioteca. Ahora usted tiene un archivo de texto para importar/análisis sintáctico y puede crear sus etiquetas, un catálogo de fichas, etc.

+0

Estoy escaneando libros cuando los pongo en los estantes, por lo que quiero imprimir una etiqueta al instante después de escanear el libro. Imprimir etiquetas más tarde sería un problema, ya que tendría que averiguar qué etiqueta va donde después del hecho. Es por eso que casi ninguna de las aplicaciones de la biblioteca que encontré funciona para mí –

1

Me temo que el problema es el acceso de base de datos. Las empresas pagan para tener un UPC asignado y por lo tanto la base de datos no es de libre acceso. El sitio UPCdatabase mencionado por Philip es un comienzo, al igual que el UPCData.info, pero están ingresados ​​por el usuario, lo que significa incompleto y posiblemente inexacto.

Siempre se puede introducir en la UPC a Google y obtener un éxito, pero eso no es muy automatizado. Pero lo hace bien la mayor parte del tiempo.

pensé que recordaba Jon Udell hacer algo como esto (por ejemplo, see this), pero era puramente basado ISBN.

¡Parece que ha encontrado un nuevo proyecto para que alguien trabaje!

16

Nota: Soy el chico de LibraryThing, así que esto es auto promoción parcial.

Eche un vistazo a this StackOverflow answer, que cubre algunas buenas maneras de obtener datos para un ISBN dado.

Para sus problemas, Amazon incluye un DDC simple (Dewey); Google no. La API de WorldCat sí lo hace, pero debe ser una biblioteca de OCLC para usarla.

El problema del ISBN/UPC es complejo. Prefiera el ISBN, si puede encontrarlos. Los libros de bolsillo del mercado masivo a veces tienen UPC en el exterior y un ISBN en el interior.

miembros LibraryThing han desarrollado algunas páginas sobre el tema y sobre los esfuerzos para mapear los dos:

Si usted compra de fronteras códigos de barras de su libro será todo marcado con sus propios códigos de barras internos (llamado "BINC"). Lo más molesto es que cualquier pegamento que usen sea más y más difícil de eliminar limpiamente con el tiempo. No conozco ninguna API que los convierta. LibraryThing lo hace mediante screenscraping.

Para una API, me gustaría ir con Amazon. LibraryThing es una buena opción que no es API, resolviendo BINCs y agregando DDC y LCC para libros que no los tienen al mirar otras ediciones del "trabajo".

Lo que falta es la parte de la etiqueta. Alguien tiene que crear una buena plantilla en PDF para eso.

1

Si desea utilizar Amazon, puede implementarlo fácilmente con LINQ to Amazon.

0

Trabajando en el mundo de la biblioteca, simplemente nos conectamos con el pase LMS en el código de barras y regresamos los datos. Creo que hay una cantidad de proveedores LMS gratuitos: Google para "lms de código abierto".

Nota: Esto probablemente funciona con ISBN ...

-1

No hay nada como una respuesta casi 5 años después del hecho, pero aquí está mi par de centavos brillantes vale la pena.

Actualmente estoy creando algo que haría el trabajo muy bien ... https://blinked.in - lo que se está convirtiendo rápidamente en la mayor base de datos de códigos de barras UPC/EAN13 (hemos agregado más de 7M de códigos de barras en la última semana), mientras Todavía estamos en la etapa alfa del desarrollo. Estamos introduciendo una API muy sencilla y de bajo costo para proporcionar este tipo de acceso a los datos.

Solo hemos estado en desarrollo durante un par de meses, pero ya contamos con una plataforma web estable, una base de datos en rápida expansión y el deseo de mantener las cosas simples.

Espero que esto lo ayude a usted, o a algún futuro lector, de alguna manera.

Actualizado

Nuestra API está ahora en vivo - https://blinked.in/api - y nos hemos lanzado en unos 100 llamadas gratuitas por día, y se puede obtener crédito de ayudar a descubrir nuevos códigos de barras - https://blinked.in/bandwidthaccount

+0

El sitio web está ABAJO. – sjas

+1

El servicio no existe – esbenr

0

Cómo acerca de outpan.com? 20 millones de libros, accesibles a través del sitio web y API, completamente gratis. funciona mejor con ISBN-13

0

frecuencia recomiendo el uso de la API producto del afiliado de Amazon (verificarlo aquí https://affiliate-program.amazon.com), sin embargo hay algunas otras opciones disponibles también.

Si desea garantizar la exactitud de los datos, puede optar por una solución paga. GS1 es la organización que emite códigos UPC, por lo que su información siempre debe ser precisa (https://www.gs1us.org/tools/gs1-company-database-gepir).

También hay una serie de bases de datos de terceros con información relevante como https://www.upccodesearch.com/ o https://www.upcdatabase.com/.

Cuestiones relacionadas