Domanda

Sto costruendo l'applicazione di libreria più semplice al mondo. Tutto quello che voglio poter fare è scansionare l'UPC (codice a barre) di un libro usando uno scanner tipico (che digita semplicemente i numeri del codice a barre in un campo) e quindi usarlo per cercare i dati sul libro ... in un minimo, titolo, autore, anno pubblicato e numero di catalogo Dewey Decimal o Library of Congress.

L'obiettivo è stampare un piccolo adesivo ("etichetta dorsale") con il numero di catalogo delle carte che posso attaccare sul dorso del libro, quindi posso ordinare i libri per numero di catalogo delle carte sugli scaffali in la nostra biblioteca aziendale. In questo modo i libri su argomenti simili tenderanno ad essere vicini l'uno all'altro, ad esempio, se sai che stai cercando un libro sulla contabilità, tutto ciò che devi fare è trovare ALCUNI libri sulla contabilità e vedrai l'altra mezza dozzina che abbiamo proprio accanto ad esso, il che rende comodo navigare nella libreria.

Sembra che ci siano molte API Web per farlo, tra cui Amazon e la Library of Congress. Ma quelli sono tutti estremamente confusi per me. Quello che voglio solo è una singola funzione di livello superiore che prende un numero di codice a barre UPC e restituisce alcuni dati di base sul libro.

È stato utile?

Soluzione

C'è una soluzione web molto semplice su ISBNDB.com che potresti voler consultare.

Modifica: collegamento alla documentazione API aggiornato, ora è disponibile anche la versione 2

Link a prezzi e livelli qui

Puoi essere attivo e funzionante in pochi minuti (questi esempi provengono dall'API v1):

  • registrati sul sito e ottieni una chiave per utilizzare l'API
  • prova un URL come:

    http://isbndb.com/api/books.xml?access_key= {propria-chiave} & amp; index1 = ISBN & amp; results = dettagli e amp; valore1 = 9780143038092

I risultati = dettagli ottiene ulteriori dettagli tra cui il numero di catalogo della carta.

A parte questo, generalmente il codice a barre è isbn in isbn10 o isbn13. Devi solo cancellare gli ultimi 5 numeri se stai usando uno scanner e raccogli 18 numeri.

Ecco una risposta di esempio:

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

Altri suggerimenti

Nota: sono il ragazzo di LibraryThing, quindi si tratta di un'auto-promozione parziale.

Dai un'occhiata a questa risposta StackOverflow , che copre alcuni buoni modi per ottenere dati per un determinato ISBN.

Ai tuoi problemi, Amazon include un semplice DDC (Dewey); Google no. L'API WorldCat lo fa, ma è necessario essere una libreria OCLC per usarlo.

Il problema ISBN / UPC è complesso. Preferisci il codice ISBN, se riesci a trovarli. I tascabili del mercato di massa a volte sfoggiano UPC all'esterno e un codice ISBN all'interno.

I membri di LibraryThing hanno sviluppato alcune pagine sul problema e sugli sforzi per mappare i due:

Se acquisti da Borders, i codici a barre del tuo libro verranno incollati con i loro codici a barre interni (chiamati "BINC"). Più fastidiosamente, qualunque sia la colla che usano diventa sempre più difficile da rimuovere in modo pulito nel tempo. Non conosco alcuna API che li converta. LibraryThing lo fa mediante lo screenshot.

Per un'API, andrei con Amazon. LibraryThing è una buona opzione non API, che risolve i BINC e aggiunge DDC e LCC per i libri che non li hanno guardando altre edizioni dell'opera "quot."

Ciò che manca è la parte dell'etichetta. Qualcuno deve creare un buon modello PDF per questo.

Modifica Sarebbe abbastanza facile se avessi un codice ISBN. ma la conversione da UPC a ISBN non è facile come vorresti.

Ecco un po 'di codice javascript per esso da http://isbn.nu dove viene fatto nello 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;
}

Tuttavia, ciò converte solo da UPC a ISBN alcuni del tempo.

Potresti voler guardare anche la pagina del progetto di scansione del codice a barre - il viaggio di una persona per scansionare libri.

Quindi conosci Amazon Web Services . Ma questo presuppone che Amazon abbia il libro e sia stato scansionato in UPC.

Puoi anche provare UPCdatabase in http://www.upcdatabase.com/item/ {UPC}, ma anche questo è incompleto - almeno sta crescendo ..

Finora la biblioteca del database dei congressi è incompleta con gli UPC (anche se è piuttosto completa), ed è più difficile ottenere l'automazione.

Attualmente, sembra che dovresti scriverlo tu stesso per avere una ricerca di alto livello che restituisca informazioni semplici (e prova ogni servizio)

Sembra il tipo di lavoro che uno potrebbe fare fare una piccola società di software per te ...

Più seriamente, ci sono servizi che forniscono un'interfaccia al catalogo ISBN, www.literarymarketplace.com.

Su worldcat.com, puoi creare un URL utilizzando il codice ISBN che ti porterà direttamente alla pagina dei dettagli del libro. Quella pagina non è molto utile perché è ancora lo scraping HTML per ottenere i dati, ma hanno un link per scaricare i dati del libro in una coppia "standard" formati.

Ad esempio, il loro libro dimostrativo: http://www.worldcat.org/isbn/9780060817084 Ha un " EndNote " link per il download del formato http://www.worldcat.org/oclc /123348009?page=endnote&client=worldcat.org-detailed_record e puoi raccogliere i dati da quel file molto facilmente. È collegato dal proprio numero OCLC, non dal codice ISBN, ma dalla conversione da convertire non è difficile, e potrebbero avere ancora una buona interfaccia per farlo.

Mia moglie bibliotecaria usa http://www.worldcat.org/ , ma cancellano il codice ISBN . Se riesci a scansionarlo, sei d'oro. Guardando alcuni libri, sembra che l'UPC sia uguale o correlato al codice ISBN.

Oh, questi ragazzi hanno una funzione per fare la conversione da UPC a ISBN.

Utilizzando il sito web Library Thing , puoi scansionare i tuoi codici a barre (l'intero codice a barre, non solo il ISBN: se disponi di una scansione "cuneo", sei fortunato) e costruisci la tua libreria. (È un eccellente social network - pensa StackOverflow per gli appassionati di libri.)

Quindi, usando la sezione STRUMENTI, puoi esportare la tua libreria. Ora hai un file di testo da importare / analizzare e puoi creare le tue etichette, un catalogo di carte, ecc.

Temo che il problema sia l'accesso al database. Le aziende pagano per avere un UPC assegnato e quindi il database non è liberamente accessibile. Il UPCdatabase menzionato da Philip è un inizio, così come UPCData.info , ma sono immessi dall'utente - il che significa che è incompleto e forse impreciso.

Puoi sempre accedere a UPC su Google e ottenere un successo, ma non è molto automatizzato. Ma lo fa bene la maggior parte del tempo.

Pensavo di essermi ricordato di Jon Udell mentre faceva qualcosa del genere (ad es. guarda questo ), ma era puramente basato su ISBN.

Sembra che tu abbia trovato un nuovo progetto per qualcuno su cui lavorare!

Se vuoi utilizzare Amazon puoi implementarlo facilmente con LINQ to Amazon .

Lavorando nel mondo delle biblioteche ci colleghiamo semplicemente al passaggio LMS nel codice a barre e hey presto torna i dati. Credo che ci siano un certo numero di provider LMS gratuiti: Google per "open source lms".

Nota: questo probabilmente funziona al di fuori di ISBN ...

Puoi trovare uno strumento di ricerca ISBN implementato in PHP a Dawson Interactive .

Raccomando spesso di utilizzare API di affiliazione di prodotti Amazon (controlla qui https: / /affiliate-program.amazon.com ), tuttavia sono disponibili anche alcune altre opzioni.

Se vuoi garantire l'accuratezza dei dati, puoi scegliere la soluzione a pagamento. GS1 è l'organizzazione che emette codici UPC, quindi le loro informazioni dovrebbero essere sempre accurate ( https :. //www.gs1us.org/tools/gs1-company-database-gepir )

Esistono anche diversi database di terze parti con informazioni rilevanti come https://www.upccodesearch.com/ o https://www.upcdatabase.com/ .

Niente come una risposta quasi 5 anni dopo il fatto, ma ecco la mia coppia di penny luccicanti.

Attualmente sto costruendo qualcosa che farebbe bene il lavoro ... https://blinked.in - quello che sta rapidamente diventando il più grande database di codici a barre UPC / EAN13 (abbiamo aggiunto oltre 7 milioni di codici a barre solo nell'ultima settimana), mentre siamo ancora nella fase di sviluppo alfa stiamo introducendo un'API molto semplice, a basso costo da fornire proprio questo tipo di accesso ai dati.

Siamo stati in sviluppo solo per un paio di mesi, ma disponiamo già di una piattaforma Web stabile, database in rapida espansione e desiderio di semplificare le cose.

Spero che questo ti aiuti, o qualche lettore futuro, in qualche modo.

Aggiornamento

La nostra API è ora attiva - https://blinked.in/api - e abbiamo inserito 100 chiamate gratuite al giorno e puoi guadagnare credito aiutandoci a scoprire nuovi codici a barre - https://blinked.in/bandwidthaccount

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top