我的应用程序需要根据提供的 ISBN、标题或作者检索任何已出版书籍的信息。这并不是一个独特的要求——像 Amazon.com、Chegg.com 这样的网站,甚至像 Book Collector 这样的软件似乎都能够轻松地做到这一点。但我无法复制它。
澄清一下,我不需要搜索整个图书数据库——仅搜索已输入的有限子集,就像在图书收藏中一样。该数据库将允许我用必要的元数据标记输入的书籍,以启用对该书籍子集的搜索。所以规模不是这里的问题——获取元数据才是。
我尝试过的选项是:
- 刮亚马逊。抓取常规的亚马逊页面对于缺少作者之类的东西不是很健壮,虽然抓取较小的移动页面更快,但它们在提取的鲁棒性方面存在相同的问题。另外,将其构建到应用程序中显然违反了亚马逊的服务条款。
- 刮掉国会图书馆。虽然这似乎具有较少的法律后果,但易用性和稳健性再次成为问题。
- ISBNdb.com API。虽然该服务在一定程度上是免费的,并且在返回必要的元数据方面做得很好,但我每天需要为 500 多本书执行此操作,此时此服务的成本与使用成正比。我更喜欢允许我做同样事情的免费或一次性付款解决方案。
- 谷歌图书数据 API。虽然这似乎提供了我需要的信息,但我无法按照服务条款的要求显示图书预览。
- 购买图书数据库的许可证。例如,Ingram 或 Baker & Taylor 等公司向零售商和图书馆提供这些目录。这个解决方案显然很昂贵,所以我希望有一个我错过的更优雅的解决方案。但如果不是,并且 SO 上的某个人对特定数据库有很好的经验,我愿意接受。
我试图详细描述我的方法,以便其他书籍较少的人可以利用上述解决方案。但鉴于我的要求,我在检索书籍元数据方面无能为力,因此非常感谢任何指针。