Wie kann ich Daten zu einem Buch anhand seiner Barcode-Nummer nachschlagen? [geschlossen]

73

Ich baue die einfachste Bibliotheksanwendung der Welt. Alles, was ich tun möchte, ist, den UPC (Barcode) eines Buches mit einem typischen Scanner (der nur die Nummern des Barcodes in ein Feld eingibt) einzuscannen und dann Daten über das Buch nachzuschlagen ... bei a Minimum, Titel, Autor, Erscheinungsjahr und entweder die Katalognummer von Dewey Decimal oder Library of Congress.

Das Ziel ist es, einen winzigen Aufkleber ("Buchrückenetikett") mit der Kartenkatalognummer auszudrucken, den ich auf den Buchrücken kleben kann, und dann die Bücher nach Kartenkatalognummer in den Regalen unserer Firmenbibliothek zu sortieren. Auf diese Weise sind Bücher zu ähnlichen Themen in der Regel nahe beieinander. Wenn Sie beispielsweise wissen, dass Sie nach einem Buch über Buchhaltung suchen, müssen Sie nur EINIGES Buch über Buchhaltung finden und sehen das andere halbe Dutzend dass wir direkt daneben haben, was es bequem macht, die Bibliothek zu durchsuchen.

Es scheint viele Web-APIs zu geben, darunter Amazon und die Library of Congress. Aber das ist alles sehr verwirrend für mich. Was ich wirklich nur möchte, ist eine einzelne übergeordnete Funktion, die eine UPC-Barcode-Nummer verwendet und einige grundlegende Daten über das Buch zurückgibt.

Joel Spolsky
quelle
Verknüpft (andere nützliche Antworten dort): stackoverflow.com/questions/41469/…
Basj

Antworten:

61

Bei ISBNDB.com gibt es eine sehr einfache webbasierte Lösung, die Sie sich vielleicht ansehen möchten.

Bearbeiten: Link zur API-Dokumentation aktualisiert, jetzt ist auch Version 2 verfügbar

Link zu Preisen und Stufen hier

Sie können in wenigen Minuten einsatzbereit sein (diese Beispiele stammen aus API v1):

  • Registrieren Sie sich auf der Website und erhalten Sie einen Schlüssel zur Verwendung der API

  • Versuchen Sie eine URL wie:

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

Das Ergebnis = Details erhält zusätzliche Details einschließlich der Kartenkatalognummer.

Abgesehen davon ist der Barcode im Allgemeinen das isbn in isbn10 oder isbn13. Sie müssen nur die letzten 5 Nummern löschen, wenn Sie einen Scanner verwenden und 18 Nummern aufnehmen.

Hier ist eine Beispielantwort:

<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>
Curtisk
quelle
17

Hinweis: Ich bin der LibraryThing-Typ, dies ist also eine teilweise Eigenwerbung.

Schauen Sie sich diese StackOverflow-Antwort an , die einige gute Möglichkeiten zum Abrufen von Daten für eine bestimmte ISBN enthält.

Zu Ihren Problemen enthält Amazon ein einfaches DDC (Dewey). Google nicht. Die WorldCat-API funktioniert, Sie müssen jedoch eine OCLC-Bibliothek sein, um sie verwenden zu können.

Das ISBN / UPC-Problem ist komplex. Bevorzugen Sie die ISBN, wenn Sie sie finden können. Taschenbücher für den Massenmarkt haben manchmal außen UPCs und innen eine ISBN.

Die Mitglieder von LibraryThing haben einige Seiten zu diesem Thema und zu den Bemühungen zur Zuordnung der beiden Seiten entwickelt:

Wenn Sie bei Borders kaufen, werden die Barcodes Ihres Buches alle mit ihren eigenen internen Barcodes ("BINC" genannt) versehen. Am ärgerlichsten ist es, wenn der Klebstoff, den sie verwenden, mit der Zeit immer schwerer sauber zu entfernen ist. Ich kenne keine API, die sie konvertiert. LibraryThing erledigt dies durch Screenscraping.

Für eine API würde ich mich für Amazon entscheiden. LibraryThing ist eine gute Nicht-API-Option, mit der BINCs aufgelöst und DDC und LCC für Bücher hinzugefügt werden können, die sie nicht haben, indem andere Ausgaben der "Arbeit" betrachtet werden.

Was fehlt, ist das Etikettenteil. Jemand muss dafür eine gute PDF-Vorlage erstellen.

Gemeinschaft
quelle
8

Bearbeiten Es wäre ziemlich einfach, wenn Sie eine ISBN hätten. Die Konvertierung von UPC zu ISBN ist jedoch nicht so einfach, wie Sie möchten.

Hier ist ein Javascript-Code von http://isbn.nu, wo er im Skript erstellt wird

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

Jedoch, dass nur Konvertiten von UPC ISBN einige der Zeit.

Vielleicht möchten Sie sich auch die Projektseite zum Scannen von Barcodes ansehen - die Reise einer Person zum Scannen von Büchern.

Sie kennen also Amazon Web Services . Aber das setzt voraus, dass Amazon das Buch hat und in der UPC gescannt hat.

Sie können die UPC- Datenbank auch unter http://www.upcdatabase.com/item/ {UPC} testen , dies ist jedoch auch unvollständig - zumindest wächst sie.

Die Bibliothek der Kongressdatenbank ist auch mit UPCs bisher unvollständig (obwohl sie ziemlich umfassend ist) und es ist schwieriger, sie zu automatisieren.

Derzeit scheint es so, als müssten Sie dies selbst schreiben, um eine allgemeine Suche zu erhalten, die einfache Informationen zurückgibt (und jeden Dienst ausprobiert).

Philip Rieck
quelle
2
Ich hatte gehofft, dass jemand bereits Code hatte, der dies tat, sodass ich nicht 8000 Seiten AWS-Dokumentation lesen musste. Alle kleinen Bibliotheksanwendungen tun es bereits. Es gibt eine Möglichkeit, UPCs in ISBNs umzuwandeln, die ich auch nicht verstehe.
Joel Spolsky
1
Dieser Code konvertiert isbn13 in ISBN10. Es hat nichts mit UPC-Codes zu tun.
Stevenf
@stevenf - falsch. Die UPC in den meisten Büchern ist die ISBN10 mit der vorangestellten Nummer 978 oder 979. In UPC kennzeichnen die ersten 3 Zahlen das Herkunftsland, und 978-979 wird "Bookland" zugewiesen. Während es also nichts anderes tut, als den Ländercode und die Prüfsumme (falls gescannt) zu entfernen, hat es etwas mit UPC-Codes zu tun.
Philip Rieck
librarything.com/wiki/index.php/CueCat:_ISBNs_and_Barcodes Sie verwechseln die Konvertierung von ISBN10 zu ISBN13.
Stevenf
Okay, das war ein Fehler - ich hatte nicht erwartet, dass enter sofort eingereicht wird - Es wurde hier irgendwo verlinkt, aber hier gibt es Unterstützung für meine Behauptung: librarything.com/wiki/index.php/Upc Sie verwechseln die Konvertierung von ISBN10 zu ISBN13 mit der Konvertierung von UPC zu ISBN (10 oder 13). Ich persönlich habe die Erklärung der Bibliothekssache verwendet, um ungefähr 2/3 der UPC-Oden, die in eine von uns erstellte Webanwendung hochgeladen wurden, erfolgreich zu konvertieren.
Stevenf
3

Klingt nach einem Job, den ein kleines Softwareunternehmen für Sie erledigen könnte ...

Im Ernst, es gibt Dienste, die eine Schnittstelle zum ISBN-Katalog www.literarymarketplace.com bieten.

Auf worldcat.com können Sie mithilfe der ISBN eine URL erstellen , die Sie direkt zu einer Buchdetailseite führt. Diese Seite ist nicht so nützlich, da es immer noch HTML-Scraping gibt, um die Daten abzurufen, aber sie haben einen Link zum Herunterladen der Buchdaten in einigen "Standard" -Formaten.

Zum Beispiel hat ihr Demobuch: http://www.worldcat.org/isbn/9780060817084 einen Download-Link im "EndNote" -Format http://www.worldcat.org/oclc/123348009?page=endnote&client=worldcat.org- Detailed_Record , und Sie können die Daten aus dieser Datei sehr einfach sammeln. Das hängt mit ihrer eigenen OCLC-Nummer zusammen, nicht mit der ISBN, sondern mit dem zu konvertierenden Kratzer, der nicht schwer ist, und sie haben möglicherweise noch eine gute Schnittstelle, um dies zu tun.

davenpcj
quelle
2

Meine Bibliothekarin benutzt http://www.worldcat.org/ , aber sie gibt die ISBN ein. Wenn Sie das scannen können, sind Sie golden. Bei einigen Büchern sieht es so aus, als ob die UPC dieselbe ist oder mit der ISBN zusammenhängt.

Oh, diese Leute haben eine Funktion für die Konvertierung von UPC zu ISBN.

sblundy
quelle
1

Über die Website Library Thing können Sie Ihre Barcodes einscannen (den gesamten Barcode, nicht nur die ISBN - wenn Sie einen Scan-Keil haben, haben Sie Glück) und Ihre Bibliothek erstellen. (Es ist ein ausgezeichnetes soziales Netzwerk - denken Sie an StackOverflow für Buchliebhaber.)

Anschließend können Sie im Abschnitt WERKZEUGE Ihre Bibliothek exportieren. Jetzt haben Sie eine Textdatei zum Importieren / Analysieren und können Ihre Etiketten, einen Kartenkatalog usw. erstellen.

Doug L.
quelle
Ich scanne Bücher, während ich sie in die Regale stelle, und möchte daher sofort nach dem Scannen des Buches ein Etikett drucken. Das spätere Drucken von Etiketten wäre schmerzhaft, da ich nachträglich herausfinden müsste, welches Etikett wohin geht. Deshalb hat fast keine der Bibliotheksanwendungen, die ich gefunden habe, Arbeit für mich gefunden
Joel Spolsky
1

Ich fürchte, das Problem ist der Datenbankzugriff. Unternehmen zahlen für die Zuweisung eines UPC, sodass die Datenbank nicht frei zugänglich ist. Die von Philip erwähnte UPCdatabase- Site ist ein Anfang, ebenso wie UPCData.info , aber sie sind vom Benutzer eingegeben - was unvollständig und möglicherweise ungenau bedeutet.

Sie können jederzeit die UPC bei Google eingeben und einen Treffer erhalten, aber das ist nicht sehr automatisiert. Aber es macht es die meiste Zeit richtig.

Ich dachte, ich erinnere mich daran, dass Jon Udell so etwas getan hat (z. B. siehe dies ), aber es war rein ISBN-basiert.

Sieht so aus, als hätten Sie ein neues Projekt gefunden, an dem jemand arbeiten kann!

JohnMeyers
quelle
1

Wenn Sie Amazon verwenden möchten, können Sie es problemlos mit LINQ to Amazon implementieren .

Simon_Weaver
quelle
0

Wenn wir in der Bibliothekswelt arbeiten, stellen wir einfach eine Verbindung zum LMS-Pass im Barcode her und hey presto back kommen die Daten zurück. Ich glaube, es gibt eine Reihe von kostenlosen LMS-Anbietern - Google für "Open Source LMS".

Hinweis: Dies funktioniert wahrscheinlich mit ISBN ...

Matt B.
quelle
0

Ein von PHP implementiertes ISBN-Nachschlagetool finden Sie bei Dawson Interactive .

frech
quelle
0

Ich empfehle häufig die Verwendung der Product Affiliate-API von Amazon (siehe https://affiliate-program.amazon.com ), es stehen jedoch auch einige andere Optionen zur Verfügung.

Wenn Sie die Richtigkeit der Daten gewährleisten möchten, können Sie sich für eine kostenpflichtige Lösung entscheiden. GS1 ist die Organisation, die UPC-Codes ausgibt, daher sollten ihre Informationen immer korrekt sein ( https://www.gs1us.org/tools/gs1-company-database-gepir ).

Es gibt auch eine Reihe von Datenbanken von Drittanbietern mit relevanten Informationen wie https://www.upccodesearch.com/ oder https://www.upcdatabase.com/ .

mosca1337
quelle
-1

Nichts wie eine Antwort fast 5 Jahre später, aber hier sind meine paar glänzenden Pfennige wert.

Ich baue gerade etwas, das die Arbeit einfach gut macht ... https://blinked.in - was sich schnell zur größten UPC / EAN13-Barcode-Datenbank entwickelt (wir haben allein in der letzten Woche über 7 Millionen Barcodes hinzugefügt), Während wir uns noch in der Alpha-Phase der Entwicklung befinden, führen wir eine sehr einfache, kostengünstige API ein, um genau diese Art von Datenzugriff zu ermöglichen.

Wir sind erst seit ein paar Monaten in der Entwicklung, haben aber bereits eine stabile Webplattform, eine schnell wachsende Datenbank und den Wunsch, die Dinge einfach zu halten.

Ich hoffe, dies hilft Ihnen oder einem zukünftigen Leser in irgendeiner Weise.

Aktualisiert

Unsere API ist jetzt live - https://blinked.in/api - und wir haben 100 kostenlose Anrufe pro Tag getätigt. Sie können Guthaben verdienen, indem Sie uns bei der Entdeckung neuer Barcodes helfen - https://blinked.in/bandwidthaccount

Nullschleife
quelle