如何从ISBN号获取书名?

我正计划为我的个人藏书创建一个小型网站。 为了使该过程自动化一点,我想创建以下功能:

网站会询问我书本的ISBN号码,然后自动获取标题并将其添加到我的数据库中。

虽然我主要对在php中这样做感兴趣,但我也有一些Java实现的想法。 如果答案尽可能地与语言无关,我相信它也可能有所帮助。


这是LibraryThing的创始人。 我们在这里没有什么可以提供的,所以我希望我的意见不会自私。

首先,关于亚马逊,ASIN和ISBN编号的评论在许多方面都是错误的。 在几乎每本书都有ISBN的情况下,ASIN和ISBN都是相同的。 国际标准图书目前不是13位数字。 相反,ISBN可以是10或13位。十位数字的ISBN可以表示为以978开头的13位数字,这意味着当前存在的每个ISBN都具有10位和13位数字的格式。 有各种图书馆可用于在ISBN10和ISBN13之间进行转换。 基本上,你在前面添加978并在最后重新计算校验和数字。

ISBN13是因为出版商用完ISBN而发明的。 在不久的将来,当基于979的ISBN13开始使用时,他们将不会有ISBN10等价物。 据我所知,目前还没有出版以979为基础的ISBN的书籍,但他们即将推出。 总而言之,亚马逊对所有978 ISBN10使用ISBN10形式。 在任何情况下,无论亚马逊是否使用十位或十三位ASIN,您都可以通过很好的方式搜索Amazon。

就个人而言,我不会把ISBN DB放在列表的顶部。 ISBN DB从多个来源挖掘,但并不像亚马逊或谷歌那么全面。 相反,我会研究亚马逊,包括各种国际的亚马逊,然后是新的Google Book Data API,然后是OpenLibrary API。 对于非英文书籍,还有其他选择,例如俄罗斯书籍的臭氧。

如果您关心最高质量的数据,或者如果您在1970年之前出版过任何书籍,那么您需要查看库中的数据,这些数据库可以通过Z39.50协议提供,通常以MARC格式提供,或者通过一些库Dublin Core,使用SRU / SRW协议。 对于现代程序员来说,MARC格式非常奇怪。 但是,你可以得到它,这也是更好的数据,并且包括有用的领域,如LCCN,DDC,LCC和LCSH。

LibraryThing运行一个自制的Python库,查询680个库,并将MARC的许多风格转换为与Amazon兼容的XML,并附带额外功能。 我们目前不愿意发布代码,但可能会很快发布服务。


查看ISBN DB API。 这是一个简单的基于REST的Web服务。 还没有尝试过,但一个朋友已经有了成功的经验。

它会给你书名,作者信息,并根据这本书,你可以使用的其他细节的数量。


Google拥有自己的Google图书API,可让您轻松查询Google图书数据库。 该协议是基于JSON的,您可以在这里查看关于它的技术信息。

你基本上只需要请求以下URL:

https://www.googleapis.com/books/v1/volumes?q=isbn:YOUR_ISBN_HERE

这会以JSON格式返回关于该书的信息。

链接地址: http://www.djcxy.com/p/55941.html

上一篇: How to fetch a Book Title from an ISBN number?

下一篇: > servlet