29

我的应用程序需要根据提供的 ISBN、标题或作者检索任何已出版书籍的信息。这并不是一个独特的要求——像 Amazon.com、Chegg.com 这样的网站,甚至像 Book Collector 这样的软件似乎都能够轻松地做到这一点。但我无法复制它。

澄清一下,我不需要搜索整个图书数据库——仅搜索已输入的有限子集,就像在图书收藏中一样。该数据库将允许我用必要的元数据标记输入的书籍,以启用对该书籍子集的搜索。所以规模不是这里的问题——获取元数据才是。

我尝试过的选项是:

  1. 刮亚马逊。抓取常规的亚马逊页面对于缺少作者之类的东西不是很健壮,虽然抓取较小的移动页面更快,但它们在提取的鲁棒性方面存在相同的问题。另外,将其构建到应用程序中显然违反了亚马逊的服务条款。
  2. 刮掉国会图书馆。虽然这似乎具有较少的法律后果,但易用性和稳健性再次成为问题。
  3. ISBNdb.com API。虽然该服务在一定程度上是免费的,并且在返回必要的元数据方面做得很好,但我每天需要为 500 多本书执行此操作,此时此服务的成本与使用成正比。我更喜欢允许我做同样事情的免费或一次性付款解决方案。
  4. 谷歌图书数据 API。虽然这似乎提供了我需要的信息,但我无法按照服务条款的要求显示图书预览。
  5. 购买图书数据库的许可证。例如,Ingram 或 Baker & Taylor 等公司向零售商和图书馆提供这些目录。这个解决方案显然很昂贵,所以我希望有一个我错过的更优雅的解决方案。但如果不是,并且 SO 上的某个人对特定数据库有很好的经验,我愿意接受。

我试图详细描述我的方法,以便其他书籍较少的人可以利用上述解决方案。但鉴于我的要求,我在检索书籍元数据方面无能为力,因此非常感谢任何指针。

4

4 回答 4

4

您可以使用他们为他们的会员计划公开的 API,而不是抓取亚马逊:https ://affiliate-program.amazon.com/gp/advertising/api/detail/main.html

它每小时允许大约 3k 个请求并返回格式良好的 XML。它要求您设置一个指向您显示相关信息的书籍的链接,并且您必须声明您是会员合作伙伴。

于 2011-05-16T20:27:15.773 回答
4

由于您不太可能每天都检索相同的 500 本书:将从 isbndb.com 检索到的数据存储在数据库中,并逐本书填写。

于 2010-07-20T06:38:05.380 回答
3

这可能是您正在寻找的。他们甚至提供完整的下载! https://openlibrary.org/data

于 2018-05-08T14:39:33.853 回答
2

看起来,许多图书馆和其他组织通过机器可读编目(又名MARC )提供诸如“ISBN”之类的信息,您也可以在此处找到有关它的更多信息。

现在知道了要搜索的“正确”术语,我发现了WorldCat.org

也许这整个 MARC 的事情给了你一种新的想法:)

于 2010-07-20T08:39:33.117 回答