Comment puis-je rechercher des données sur un livre à partir de son numéro de code à barres? [fermé]

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

Question

Je construis l’application de bibliothèque la plus simple au monde. Tout ce que je veux, c’est pouvoir numériser dans le code à barres d’un livre à l’aide d’un scanner classique (qui ne fait que taper les numéros du code à barres dans un champ), puis l’utiliser pour rechercher des données sur le livre ... minimum, titre, auteur, année de publication et numéro de catalogue Dewey Decimal ou Library of Congress.

Le but est d’imprimer un minuscule autocollant ("étiquette de dos") avec le numéro de catalogue de la carte que je peux coller sur le dos du livre, puis je peux trier les livres par numéro de catalogue sur les étagères du magasin. notre bibliothèque d'entreprise. Ainsi, les livres sur des sujets similaires auront tendance à être proches les uns des autres, par exemple, si vous savez que vous recherchez un livre sur la comptabilité, il vous suffit de trouver QUELQUE livre sur la comptabilité et vous verrez l'autre demi-douzaine. que nous avons juste à côté, ce qui facilite la navigation dans la bibliothèque.

Il semble y avoir beaucoup d’API Web pour le faire, y compris Amazon et la Library of Congress. Mais ceux-ci sont tous extrêmement déroutants pour moi. Ce que je veux vraiment, c’est une fonction unique de niveau supérieur qui prend un numéro de code à barres UPC et renvoie des données de base sur le livre.

Était-ce utile?

La solution

Il existe une solution Web très simple sur ISBNDB.com que vous voudrez peut-être examiner.

Modifier: Mise à jour du lien vers la documentation de l'API. Désormais, la version 2 est également disponible

.

Lien vers les prix et les niveaux ici

Vous pouvez être opérationnel en quelques minutes (ces exemples proviennent de l'API v1):

  • inscrivez-vous sur le site et obtenez une clé pour utiliser l'API
  • essayez une URL du type:

    http://isbndb.com/api/books.xml?access_key= {votre clé} & amp; index1 = isbn & amp; résultats = détails & amp; valeur1 = 9780143038092

Les résultats = détails obtiennent des détails supplémentaires, notamment le numéro de catalogue de la carte.

En passant, le code à barres est généralement isbn dans isbn10 ou isbn13. Si vous utilisez un scanner et que vous récupérez 18 numéros, il vous suffit de supprimer les 5 derniers chiffres.

Voici un exemple de réponse:

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

Autres conseils

Remarque: je suis le type LibraryThing. Il s'agit donc d'une auto-promotion partielle.

Jetez un coup d’œil à cette réponse StackOverflow , qui présente de bons moyens d’obtenir des données pour un ISBN donné.

Pour vos problèmes, Amazon inclut un simple DDC (Dewey); Google ne le fait pas. L’API WorldCat le fait, mais vous devez être une bibliothèque OCLC pour l’utiliser.

La question ISBN / UPC est complexe. Préférez l'ISBN, si vous pouvez les trouver. Les livres de poche sur les marchés de masse arborent parfois des codes UPC à l'extérieur et un ISBN à l'intérieur.

Les membres de LibraryThing ont développé quelques pages sur le sujet et sur les efforts pour cartographier les deux:

Si vous achetez chez Borders, les codes à barres de votre livre seront tous étiquetés avec leur propre code à barres interne (appelé "BINC"). Le plus gênant, quelle que soit la colle qu’ils utilisent, devient de plus en plus difficile à enlever proprement au fil du temps. Je ne connais aucune API qui les convertit. LibraryThing le fait en effectuant une capture d'écran.

Pour une API, j'irais avec Amazon. LibraryThing est une bonne option non-API, résolvant les BINC et ajoutant DDC et LCC pour les livres ne les contenant pas en consultant d'autres éditions de "l'œuvre".

Ce qui manque, c'est la partie étiquette. Quelqu'un doit créer un bon modèle PDF pour cela.

Modifier Ce serait assez facile si vous disposiez d'un ISBN. mais convertir UPC en ISBN n’est pas aussi facile que vous le souhaiteriez.

Vous trouverez ci-dessous du code javascript provenant de http://isbn.nu , dans lequel le script est utilisé

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

Toutefois, cela ne fait que convertir UPC en ISBN une partie du temps.

Vous pouvez également consulter la page du projet de numérisation de code à barres - le parcours d'une personne pour numériser des livres.

Vous connaissez donc les services Web Amazon . Mais cela suppose que Amazon ait le livre et l’a numérisé dans le code UPC.

Vous pouvez également essayer UPCdatabase sur http://www.upcdatabase.com/item/ {UPC}, mais ceci est également incomplet - au moins, il est en croissance.

La bibliothèque de bases de données du congrès est également incomplète avec les codes UPC (bien qu’elle soit assez complète), et il est plus difficile de l’automatiser.

Actuellement, il semble que vous deviez écrire cela vous-même pour avoir une recherche de haut niveau qui renvoie des informations simples (et tente chaque service)

Cela semble être le genre de travail qu'une petite entreprise de logiciels peut faire pour vous ...

Plus sérieusement, il existe des services qui constituent une interface avec le catalogue ISBN, www.literarymarketplace.com.

Sur worldcat.com, vous pouvez créer une URL à l'aide de l'ISBN . cela vous mènera directement à une page de détail du livre. Cette page n’est pas aussi utile, car il est toujours difficile de récupérer les données au format HTML, mais il existe un lien pour télécharger les données du livre dans un couple "standard". formats.

Par exemple, leur livre de démonstration: http://www.worldcat.org/isbn/9780060817084 Possède un " EndNote " lien de téléchargement de format http://www.worldcat.org/oclc /123348009?page=endnote&client=worldcat.org-detailed_record , et vous pouvez récupérer les données de ce fichier très facilement. Celles-ci sont liées à partir de leur propre numéro OCLC, pas de l'ISBN mais de la possibilité de convertir, ce qui n'est pas difficile, et elles ont peut-être une bonne interface pour le faire.

Mon épouse bibliothécaire utilise http://www.worldcat.org/ , mais ils désactivent l'ISBN. . Si vous pouvez scanner cela, vous êtes en or. En regardant quelques livres, il semble que le code UPC soit identique ou lié à l'ISBN.

Oh, ces gars ont une fonction permettant d'effectuer la conversion d'UPC en ISBN.

En utilisant le site Web chose en bibliothèque , vous pouvez numériser vos codes à barres (le code à barres entier, pas seulement ISBN - si vous avez un "coin" à numériser, vous avez de la chance) et construisez votre bibliothèque. (C’est un excellent réseau social - pensez à StackOverflow pour les passionnés de livres.)

Ensuite, à l'aide de la section TOOLS, vous pouvez exporter votre bibliothèque. Vous avez maintenant un fichier texte à importer / analyser et pouvez créer vos étiquettes, un catalogue de cartes, etc.

Je crains que le problème ne soit l'accès à la base de données. Les entreprises paient pour avoir un code UPC attribué et la base de données n'est donc pas librement accessible. Le site UPCdatabase mentionné par Philip est un début, de même que UPCData.info , mais ils sont entrés par l'utilisateur - ce qui signifie qu’ils sont incomplets et éventuellement inexacts.

Vous pouvez toujours entrer le code UPC de Google et obtenir un succès, mais ce n'est pas très automatisé. Mais cela se passe bien la plupart du temps.

Je pensais que Jon Udell avait agi de la sorte (par exemple, voir ceci ), mais elle était purement basée sur l'ISBN.

On dirait que vous avez trouvé un nouveau projet sur lequel travailler!

Si vous souhaitez utiliser Amazon, vous pouvez le mettre en œuvre facilement avec LINQ à Amazon .

En travaillant dans le monde des bibliothèques, nous nous connectons simplement au LMS dans le code à barres et le tour est joué. Je pense qu'il existe un certain nombre de fournisseurs de systèmes de gestion de l'apprentissage gratuits - Google pour "open source lms".

Remarque: cela fonctionne probablement avec l'ISBN ...

Vous pouvez trouver un outil de recherche ISBN mis en œuvre par PHP à l'adresse Dawson Interactive .

Je recommande fréquemment d'utiliser l'API Product Affiliate d'Amazon (consultez-la ici https: / /affiliate-program.amazon.com ), mais quelques autres options sont également disponibles.

Si vous voulez garantir l'exactitude des données, vous pouvez choisir une solution payante. GS1 étant l'organisation qui émet des codes UPC, leurs informations doivent toujours être exactes ( https : //www.gs1us.org/tools/gs1-company-database-gepir ).

Il existe également un certain nombre de bases de données tierces contenant des informations pertinentes, telles que https://www.upccodesearch.com/ ou https://www.upcdatabase.com/ .

Rien ne vaut une réponse près de 5 ans après les faits, mais voici la valeur de mes quelques sous brillants.

Je suis en train de construire quelque chose qui ferait bien le travail ... https://blinked.in - Ce qui est en train de devenir rapidement la plus grande base de données de codes à barres UPC / EAN13 (nous avons ajouté plus de 7 millions de codes à barres au cours de la seule semaine écoulée), alors que nous sommes encore au stade alpha de développement, nous introduisons une API très simple et à faible coût pour fournir juste ce genre d'accès aux données.

Nous ne sommes dans le développement que depuis quelques mois, mais nous disposons déjà d'une plate-forme Web stable, d'une base de données en expansion rapide et d'un souci de simplicité.

J'espère que cela vous aidera, ou aidera un futur lecteur, d'une certaine manière.

Mis à jour

Notre API est désormais opérationnelle - https://blinked.in/api - et nous en avons pris connaissance. 100 appels gratuits par jour et vous pouvez gagner du crédit en nous aidant à découvrir de nouveaux codes à barres - https://blinked.in/bandwidthaccount

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top