バーコード番号から書籍に関するデータを検索するにはどうすればよいですか?[閉まっている]

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

質問

私は世界で最も単純なライブラリ アプリケーションを構築しています。私ができるようにしたいのは、一般的なスキャナー (バーコードの番号をフィールドに入力するだけです) を使用して本の UPC (バーコード) をスキャンし、それを使用して書籍に関するデータを検索することだけです...少なくとも、タイトル、著者、発行年、およびデューイ十進法または米国議会図書館のカタログ番号のいずれか。

目標は、カード カタログ番号が記載された小さなステッカー (「背ラベル」) を印刷して本の背に貼り付け、会社の図書館の本棚でカード カタログ番号ごとに本を並べ替えることです。そうすれば、似たようなテーマの本が互いに近くにある傾向になります。たとえば、会計に関する本を探していることがわかっている場合、会計に関する本をいくつか見つけるだけで、残りの 6 冊の本が表示されます。すぐ隣にあるので、図書館を閲覧するのに便利です。

Amazon や米国議会図書館など、これを行うための Web API が多数あるようです。しかし、それらはすべて私にとって非常に混乱します。私が本当に欲しいのは、UPC バーコード番号を受け取り、書籍に関する基本データを返す単一の高レベル関数です。

役に立ちましたか?

解決

非常に簡単な Web ベースのソリューションが ISBNDB.com にありますので、参照してください。

編集: API ドキュメントのリンクが更新され、バージョン 2 も利用できるようになりました。

価格とレベルへのリンクはこちら

わずか数分で起動して実行できます (これらの例は API v1 のものです)。

  • サイトに登録し、API を使用するためのキーを取得します
  • 次のような URL を試してください:

    http://isbndb.com/api/books.xml?access_key={あなたのキー}&index1=isbn&results=details&value1=9780143038092

results=details は、カードのカタログ番号を含む追加の詳細を取得します。

余談ですが、isbn10でもisbn13でもバーコードはisbnであることが一般的です。スキャナーを使用していて 18 個の番号を取得した場合は、最後の 5 個の番号を削除するだけで済みます。

応答のサンプルを次に示します。

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

他のヒント

注記:私は LibraryThing 担当者なので、これは部分的な自己宣伝です。

を見てみましょう この StackOverflow の回答, では、特定の ISBN のデータを取得するためのいくつかの優れた方法について説明します。

あなたの問題に対して、Amazon にはシンプルな DDC (Dewey) が含まれています。Googleはそうではありません。WorldCat API は使用できますが、それを使用するには OCLC ライブラリである必要があります。

ISBN/UPC の問題は複雑です。ISBN が見つかった場合は、ISBN を優先します。大衆向けのペーパーバックには、外側に UPC、内側に ISBN が記載されていることがあります。

LibraryThing のメンバーは、この問題と、この 2 つをマッピングする取り組みについて、いくつかのページを作成しました。

Borders から購入した場合、本のバーコードにはすべて独自の内部バーコード (「BINC」と呼ばれる) が貼り付けられます。最も厄介なことに、使用する接着剤は時間が経つにつれて、きれいに取り除くのがますます難しくなります。それらを変換する API を私は知りません。LibraryThing はスクリーンスクレイピングによってそれを行います。

API については、Amazon を選択します。LibraryThing は、API 以外の優れたオプションであり、BINC を解決し、「作品」の他の版を調べることで、BINC を持たない書籍に DDC と LCC を追加します。

欠けているのはラベル部分です。誰かがそのための優れた PDF テンプレートを作成する必要があります。

編集 ISBNがあればかなり楽かも知れません。しかし、UPC から ISBN への変換は思ったほど簡単ではありません。

以下にそのための JavaScript コードを示します。 http://isbn.nu スクリプト内で行われる場所

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 が本を所有しており、UPC でスキャン済みであることを前提としています。

を試すこともできます UPCデータベースhttp://www.upcdatabase.com/item/{UPC} ですが、これも不完全です - 少なくとも成長しています。

議会データベースのライブラリも、これまでのところ UPC では不完全であり (かなり包括的ではありますが)、自動化するのはさらに困難です。

現時点では、単純な情報を返す (各サービスを試す) 高レベルの検索を行うには、これを自分で記述する必要があるようです。

小さなソフトウェア会社がやってくれるような仕事のように聞こえます...

さらに深刻なことに、ISBN カタログ (www.literarymarketplace.com) へのインターフェイスを提供するサービスがあります。

worldcat.com では、次のことができます ISBN を使用して URL を作成する 書籍の詳細ページに直接移動します。このページは、データを取得するためにまだ HTML スクレイピングが行われているため、あまり役に立ちませんが、書籍データをいくつかの「標準」形式でダウンロードするためのリンクがあります。

たとえば、彼らのデモブックは次のとおりです。 http://www.worldcat.org/isbn/9780060817084「EndNote」形式のダウンロードリンクあり http://www.worldcat.org/oclc/123348009?page=endnote&client=worldcat.org-detailed_record, 、そのファイルからデータを非常に簡単に収集できます。これは ISBN ではなく、独自の OCLC 番号からリンクされていますが、変換するためのスクレイピングは難しくありません。また、それを行うための優れたインターフェイスがまだ用意されている可能性があります。

図書館司書の妻が使っています http://www.worldcat.org/, 、ただし、ISBN をキーオフにします。それをスキャンできれば、あなたは黄金です。いくつかの本を見ると、UPC は ISBN と同じか、ISBN に関連しているようです。

おお、 こいつら UPCからISBNへの変換を行う機能があります。

ウェブサイトの利用 図書館のもの, では、バーコード (ISBN だけでなくバーコード全体 - スキャン用の「ウェッジ」がある場合は幸運です) をスキャンして、ライブラリを構築できます。(これは優れたソーシャル ネットワークです。書籍愛好家向けの StackOverflow を考えてください。)

次に、[ツール] セクションを使用して、ライブラリをエクスポートできます。これで、インポート/解析するテキスト ファイルが完成し、ラベルやカード カタログなどを作成できるようになりました。

データベースへのアクセスに問題があるのではないかと思います。企業は料金を払って UPC を割り当てるため、データベースには自由にアクセスできません。の UPCデータベース フィリップが言及したサイトはそのままのスタートです UPCData.info, ただし、これらはユーザーが入力したものです。つまり、不完全であり、不正確である可能性があります。

いつでも Google に UPC を入力してヒットを得ることができますが、それはあまり自動化されていません。しかし、ほとんどの場合、それは正しく行われます。

Jon Udell が次のようなことをしていたのを覚えていると思いました (例: これを見てください)、しかしそれは純粋にISBNベースでした。

誰かが取り組んでくれる新しいプロジェクトを見つけたようです。

Amazon を使用したい場合は、次のように簡単に実装できます。 LINQからアマゾンへ.

ライブラリの世界で作業する場合、バーコードで LMS パスに接続するだけで、すぐにデータが返されます。無料の LMS プロバイダーは数多くあると思います (Google で「オープン ソース lms」を意味します)。

注記:これはおそらく ISBN 以外でも機能します...

PHP で実装された ISBN ルックアップ ツールは、次の場所にあります。 ドーソン・インタラクティブ.

私が頻繁に使用することをお勧めします Amazonの商品アフィリエイトAPI (ここでチェックしてください https://アフィリエイトプログラム.amazon.com) ただし、他にもいくつかのオプションが利用可能です。

データの正確性を保証したい場合は、有料ソリューションを使用できます。GS1 は UPC コードを発行する組織であるため、その情報は常に正確である必要があります (https://www.gs1us.org/tools/gs1-company-database-gepir).

次のような関連情報を備えたサードパーティのデータベースも多数あります。 https://www.upccodesearch.com/ または https://www.upcdatabase.com/ .

事実から 5 年近く経っても答えのようなものは何もありませんでしたが、ここに私の数セント分の価値があるものがあります。

現在、その役割をうまく果たせるものを構築中です... https://blinked.in - 急速に最大の UPC / EAN13 バーコード データベースになりつつあります (先週だけで 700 万以上のバーコードを追加しました)。まだ開発のアルファ段階にありますが、非常に簡単で低コストの API を導入しています。まさにこの種のデータ アクセスを提供します。

私たちは開発に携わってまだ数か月しか経っていませんが、すでに安定した Web プラットフォームがあり、データベースが急速に拡大しており、物事をシンプルに保ちたいと考えています。

これがあなたや将来の読者に何らかの形で役立つことを願っています。

更新しました

私たちの API が公開されました - https://blinked.in/api - 1 日あたり 100 回の無料通話を行っており、新しいバーコードの発見にご協力いただくことでクレジットを獲得できます - https://blinked.in/bandwidthaccount

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top