database - 如何获取图书元数据?

标签 database search amazon google-books

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

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

我尝试过的选项是:

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

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

最佳答案

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

关于database - 如何获取图书元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3287433/

相关文章:

java - 模拟 JPA/Hibernate 数据库

ruby - Amazon Linux 最新 ruby

android - YouTube Android Player API在Amazon Fire TV上不起作用

database - SPARQL 中的递归查询以浏览集合的集合

mysql - 使用 mysql 获取过去 12 个月的数据

mysql - 向 MySQL 数据库中的每一行添加一个字符

c++ - 在线性时间内找出排序 vector 中是否有一对相加等于某个值

c# - 对具有重复值的数组进行线性搜索

python - 搜索最不像一组位串的位串

linux - 亚马逊 linux AMI 与 Ubuntu