【问题标题】:How can I lookup data about a book from its barcode number? [closed]如何从条形码编号中查找有关书籍的数据? [关闭]
【发布时间】:2010-09-11 12:58:39
【问题描述】:

我正在构建世界上最简单的图书馆应用程序。我想要做的就是使用典型的扫描仪(它只是将条形码的数字输入到一个字段中)扫描一本书的 UPC(条形码),然后用它来查找关于这本书的数据......最低限度、标题、作者、出版年份,以及杜威十进制或国会图书馆目录号。

我们的目标是打印一个带有卡片目录号的小贴纸(“书脊标签”),我可以贴在书脊上,然后我可以在我们的书架上按卡片目录号对书籍进行分类公司图书馆。这样,类似主题的书籍往往会彼此靠近,例如,如果您知道您正在寻找一本关于会计的书,您所要做的就是找到一些关于会计的书,然后您就会看到另外六本我们就在它旁边,方便浏览图书馆。

似乎有很多 Web API 可以做到这一点,包括亚马逊和国会图书馆。但这些都让我非常困惑。我真正想要的是一个更高级别的函数,它接受一个 UPC 条形码编号并返回有关这本书的一些基本数据。

【问题讨论】:

标签: api language-agnostic amazon barcode


【解决方案1】:

ISBNDB.com 上有一个非常简单的基于网络的解决方案,您可能想看看。

编辑:更新了 API 文档链接,现在也提供了第 2 版

Link to prices and tiers here

您可以在几分钟内启动并运行(这些示例来自 API v1):

  • 在网站上注册并获得使用 API 的密钥

  • 试试这样的网址:

    http://isbndb.com/api/books.xml?access_key={yourkey}&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>

【讨论】:

    【解决方案2】:

    注意:我是 LibraryThing 人,所以这是部分自我推销。

    看看this StackOverflow answer,它介绍了一些获取给定 ISBN 数据的好方法。

    对于您的问题,亚马逊包含一个简单的 DDC(杜威);谷歌没有。 WorldCat API 可以,但您需要成为 OCLC 图书馆才能使用它。

    ISBN/UPC 问题很复杂。如果您能找到它们,请首选 ISBN。大众市场平装本有时会在外面印上 UPC,而在里面印上 ISBN。

    LibraryThing 成员已就该问题编写了几页,并努力将两者联系起来:

    如果您从 Borders 购买,您图书的条形码将全部贴上它们自己的内部条形码(称为“BINC”)。最烦人的是,随着时间的推移,他们使用的任何胶水都变得越来越难以干净地去除。我知道没有可以转换它们的 API。 LibraryThing 通过截屏来实现。

    对于 API,我会选择亚马逊。 LibraryThing 是一个很好的非 API 选项,通过查看其他版本的“作品”来解析 BINC 并为没有它们的书籍添加 DDC 和 LCC。

    缺少的是标签部分。有人需要为此创建一个好的 PDF 模板。

    【讨论】:

      【解决方案3】:

      编辑如果您有 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。

      您可能也想看看barcode scanning project page - 一个人扫描书籍的旅程。

      所以你知道Amazon Web Services。但这假设亚马逊有这本书并且已经在 UPC 中进行了扫描。

      您也可以在http://www.upcdatabase.com/item/{UPC} 尝试UPCdatabase,但这也不完整 - 至少它正在增长..

      到目前为止,国会数据库的库还没有包含 UPC(尽管它非常全面),并且更难实现自动化。

      目前,您似乎必须自己编写此代码才能进行返回简单信息(并尝试每个服务)的高级查找

      【讨论】:

      • 我希望有人已经拥有执行此操作的代码,因此我不必阅读 8000 页的 AWS 文档。所有的小型图书馆应用程序都已经这样做了。有一些方法可以将 UPC 转换为我也不理解的 ISBN。
      • 该代码正在将 isbn13 转换为 ISBN10。它与UPC代码无关。
      • @stevenf - 不正确。 大多数 图书的 UPC 是 ISBN10,前面带有数字 978 或 979。在 UPC 中,前 3 个数字编码原产国,978-979 分配给“Bookland”。因此,虽然它除了剥离国家代码和校验和(如果已扫描)并没有真正做任何事情,但它确实与 UPC 代码有关。
      • librarything.com/wiki/index.php/CueCat:_ISBNs_and_Barcodes 您混淆了从 ISBN10 到 ISBN13 的转换。
      • 好吧,那是个错误——没想到 enter 会立即提交——它被链接到这里的某个地方,但这里有一些支持我的主张:librarything.com/wiki/index.php/Upc 你混淆了从ISBN10 到 ISBN13 以及从 UPC 到 ISBN(10 或 13)的转换。我个人使用 library thing 解释成功转换了大约 2/3 的 UPC odes 上传到我们构建的 Web 应用程序。
      【解决方案4】:

      听起来像是让一家小型软件公司为你做的工作......

      更严重的是,有些服务提供了 ISBN 目录 www.literarymarketplace.com 的接口。

      在 worldcat.com 上,您可以create a URL using the ISBN,这将带您直接进入图书详情页面。该页面不是很有用,因为它仍然是 HTML 抓取来获取数据,但他们有一个链接可以下载几种“标准”格式的图书数据。

      例如,他们的演示书:http://www.worldcat.org/isbn/9780060817084 有一个“EndNote”格式的下载链接http://www.worldcat.org/oclc/123348009?page=endnote&client=worldcat.org-detailed_record,您可以很容易地从该文件中获取数据。这与他们自己的 OCLC 号码相关联,而不是 ISBN,但转换的抓取并不难,而且他们可能还有一个很好的界面来做这件事。

      【讨论】:

        【解决方案5】:

        我的图书管理员妻子使用http://www.worldcat.org/,但他们关闭了 ISBN。如果你能扫描它,你就是黄金。看了几本书,似乎 UPC 与 ISBN 相同或相关。

        哦,these guys 有一个从 UPC 到 ISBN 的转换功能。

        【讨论】:

          【解决方案6】:

          使用网站Library Thing,您可以扫描您的条形码(整个条形码,而不仅仅是 ISBN - 如果您有扫描“楔子”,那么您很幸运)并建立您的图书馆。 (这是一个出色的社交网络 - 想想看书爱好者的 StackOverflow。)

          然后,您可以使用“工具”部分导出您的库。现在您有了一个要导入/解析的文本文件,并且可以创建标签、卡片目录等。

          【讨论】:

          • 我正在扫描书,因为我把书放在书架上,所以我想在扫描完书后立即打印标签。以后再打印标签会很痛苦,因为我必须在事后弄清楚标签在哪里。这就是为什么我发现几乎没有一个库应用程序适合我
          【解决方案7】:

          恐怕问题出在数据库访问上。公司为分配 UPC 而付费,因此该数据库不能免费访问。 Philip 提到的 UPCdatabase 网站是一个开始,UPCData.info 也是如此,但它们是用户输入的——这意味着不完整且可能不准确。

          您始终可以将 UPC 输入到 Google 并获得成功,但这并不是很自动化。但大多数情况下它确实是正确的。

          我想我记得 Jon Udell 做过这样的事情(例如,see this),但它纯粹是基于 ISBN 的。

          看起来你找到了一个新项目可以让别人去做!

          【讨论】:

            【解决方案8】:

            如果您想使用 Amazon,可以使用 LINQ to Amazon 轻松实现。

            【讨论】:

              【解决方案9】:

              在图书馆界工作,我们只需连接到条形码中的 LMS 通道,然后很快就会返回数据。我相信有许多免费的 LMS 提供商 - 谷歌的“开源 lms”。

              注意:这可能适用于 ISBN...

              【讨论】:

                【解决方案10】:

                您可以在Dawson Interactive 找到一个 PHP 实现的 ISBN 查找工具。

                【讨论】:

                  【解决方案11】:

                  我经常推荐使用 Amazon 的 Product Affiliate API(在此处查看 https://affiliate-program.amazon.com),但也有一些其他选项可用。

                  如果您想保证数据的准确性,您可以选择付费解决方案。 GS1 是颁发 UPC 代码的组织,因此其信息应始终准确 (https://www.gs1us.org/tools/gs1-company-database-gepir)。

                  还有一些第三方数据库有相关信息,例如https://www.upccodesearch.com/https://www.upcdatabase.com/

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2015-05-11
                    • 1970-01-01
                    相关资源
                    最近更新 更多