76

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

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

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

4

11 に答える 11

62

ISBNDB.com には非常に簡単な Web ベースのソリューションがあり、これを参照することをお勧めします。

編集: 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>
于 2008-09-20T03:56:30.767 に答える
18

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

この StackOverflow answerを見てください。これには、特定の ISBN のデータを取得するためのいくつかの良い方法が含まれています。

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

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

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

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

API については、Amazon を使用します。LibraryThing は非 API の優れたオプションであり、BINC を解決し、「作品」の他の版を見て、BINC を持たない本に DDC と LCC を追加します。

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

于 2008-10-04T05:12:17.107 に答える
8

編集ISBNがあれば、かなり簡単です。しかし、UPCからISBNへの変換はあなたが望むほど簡単ではありません。

これは、スクリプトで実行されるhttp://isbn.nuからのJavaScriptコードです。

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に変換される場合があります。

バーコードスキャンプロジェクトのページもご覧になることをお勧めします。1人で本をスキャンする旅です。

だからあなたはアマゾンウェブサービスについて知っています。しかし、それはアマゾンが本を持っていて、UPCでスキャンしたことを前提としています。

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

米国議会図書館のデータベースも、これまでのところUPCでは不完全であり(かなり包括的ですが)、自動化するのは困難です。

現在、単純な情報を返す(そして各サービスを試す)高レベルのルックアップを行うには、これを自分で作成する必要があるようです。

于 2008-09-20T03:36:24.920 に答える
3

小さなソフトウェア会社に任せられるような仕事のように思えます...

もっと深刻なことに、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 番号からリンクされていますが、変換するためのスクレイピングは難しくありません。また、それを行うための適切なインターフェイスがまだある可能性があります。

于 2008-09-20T03:57:09.613 に答える
2

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

ああ、こいつらはUPCからISBNへの変換を行う機能を持っている。

于 2008-09-20T03:53:41.337 に答える
1

Web サイトLibrary Thingを使用して、バーコード (ISBN だけでなく、バ​​ーコード全体 - スキャン「ウェッジ」がある場合は運がいい) をスキャンして、ライブラリを構築できます。(これは優れたソーシャル ネットワークです。本好きには StackOverflow を考えてみてください。)

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

于 2008-09-20T03:57:24.930 に答える
1

Amazon を使用する場合は、 LINQ to Amazonを使用して簡単に実装できます。

于 2009-01-28T01:48:04.380 に答える
1

問題はデータベースへのアクセスです。企業は UPC の割り当てに料金を支払うため、データベースに自由にアクセスすることはできません。Philip が言及したUPCdatabaseサイトはUPCData.infoと同様に最初のサイトですが、これらはユーザーが入力したものです。つまり、不完全で不正確な可能性があります。

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

Jon Udell がこのようなことをしたことを覚えていると思いましたが (たとえば、これを参照)、それは純粋に ISBN ベースでした。

誰かが取り組む新しいプロジェクトを見つけたようです!

于 2008-09-20T04:28:49.630 に答える
0

PHP で実装された ISBN 検索ツールは、Dawson Interactiveにあります。

于 2010-06-11T04:25:44.543 に答える
0

図書館の世界では、バーコードの LMS パスに接続するだけで、すぐにデータが戻ってきます。無料の LMS プロバイダーはたくさんあると思います。「オープン ソース lms」の Google です。

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

于 2010-03-30T16:03:16.247 に答える