我正在构建世界上最简单的库应用程序.我想要做的就是使用典型的扫描仪(只是将条形码的数字键入字段)扫描书籍的UPC(条形码),然后用它来查找有关书籍的数据......最小,标题,作者,出版年份,以及杜威十进制或国会图书馆目录编号.
我的目标是打印一个带有卡片目录编号的小贴纸("脊椎标签"),我可以将其粘贴在书脊上,然后我可以按照我们公司图书馆书架上的卡片目录编号对书籍进行分类.这样,关于类似主题的书籍往往会彼此接近,例如,如果你知道你正在寻找一本关于会计的书,你所要做的就是找到一本关于会计的书,你会看到另外一半的书.我们紧挨着它,这使得浏览图书馆变得方便.
似乎有很多网络API可以做到这一点,包括亚马逊和国会图书馆.但这些对我来说都非常困惑.我真正想要的是一个更高级别的功能,它可以获取UPC条形码编号并返回有关该书的一些基本数据.
在ISBNDB.com上有一个非常简单的基于Web的解决方案,您可能需要查看.
编辑:更新的API文档链接,现在也有版本2可用
链接到这里的价格和层级
您可以在几分钟内启动并运行(这些示例来自API v1):
在网站上注册并获得使用API的密钥
尝试一下这样的网址:
http://isbndb.com/api/books.xml?access_key=
{} yourkey&index1=isbn&results=details&value1=9780143038092
结果=详细信息获取其他详细信息,包括卡目录号.
顺便说一下,条形码通常是isbn10或isbn13中的isbn.如果您使用的是扫描仪,则只需删除最后5个数字即可.
这是一个示例响应:
The Joy Luck Club Amy Tan, Penguin (Non-Classics)
注意:我是LibraryThing的人,所以这是部分自我推销.
看看这个StackOverflow答案,它涵盖了获取给定ISBN数据的一些好方法.
对于您的问题,亚马逊包括一个简单的DDC(杜威); 谷歌没有.WorldCat API可以,但您需要成为OCLC库才能使用它.
ISBN/UPC问题很复杂.如果您能找到它们,请选择ISBN.大众市场平装本有时在外面运行UPC,在内部运行ISBN.
LibraryThing成员已经就这个问题开发了一些页面,并开发了两个地图:
http://www.librarything.com/wiki/index.php/UPC
http://www.librarything.com/wiki/index.php/CueCat:_ISBNs_and_Barcodes
如果您从Borders购买,您的书的条形码将全部用他们自己的内部条形码(称为"BINC")进行修改.最令人讨厌的是,随着时间的推移,无论使用何种胶水都会变得越来越难以清除.我知道没有API可以转换它们.LibraryThing通过screenscraping完成它.
对于API,我会选择亚马逊.LibraryThing是一个很好的非API选项,通过查看其他版本的"工作"来解析BINC并为没有它们的书籍添加DDC和LCC.
缺少的是标签部分.有人需要为此创建一个好的PDF模板.
编辑如果您有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 .
您可能也想查看条形码扫描项目页面 - 一个人扫描书籍的旅程.
所以你了解亚马逊网络服务.但这假设亚马逊有这本书,并已在UPC扫描.
你也可以尝试UPCdatabase在http://www.upcdatabase.com/item/ {} UPC,而这也是不完整的-至少它的增长..
到目前为止,UPC的会议数据库库也不完整(虽然它非常全面),并且更难实现自动化.
目前,您似乎必须自己编写,以便进行高级查找,返回简单信息(并尝试每项服务)