Мое приложение должно получать информацию о любой опубликованной книге на основе предоставленного номера ISBN, названия или автора.Вряд ли это является уникальным требованием - сайты вроде Amazon.com, Chegg.com и даже такие программы, как Book Collector, могут легко это сделать.Но я не смог его воспроизвести.
Чтобы уточнить, мне не нужно искать всю базу данных книг - только ограниченное подмножество, которое было введено, как в коллекции книг.База данных просто позволит мне помечать введенные книги необходимыми метаданными, чтобы включить поиск по этому подмножеству книг.Таким образом, здесь не проблема масштабирования - получение метаданных.
Я попробовал следующие варианты:
- Очистить Amazon. Очистить обычный Amazonстраницы были не очень устойчивы к таким вещам, как пропущенные авторы, и хотя очистка небольших мобильных страниц была быстрее, они разделяли те же проблемы с надежностью извлечения.Кроме того, встраивание этого в приложение является явным нарушением Условий обслуживания Amazon.
- Очистка Библиотеки Конгресса. Хотя это, как представляется, имеет меньше юридических последствий, легкость и надежность снова стали проблемой.
- API ISBNdb.com. Несмотря на то, что служба бесплатна до определенного момента и хорошо возвращает необходимые метаданные, мне нужно сделать это для более чем 500 книг наежедневно, в этот момент эта услуга стоит денег, пропорциональных использованию.Я бы предпочел бесплатное или единовременное платежное решение, которое позволяет мне делать то же самое.
- API данных Google Book. Хотя это, кажется, предоставляет необходимую информацию, я не могу отобразитьпредварительный просмотр книги в соответствии с условиями их обслуживания.
- Купить лицензию на базу данных книг. Например, такие компании, как Ingram или Baker & Taylor, предоставляют эти каталоги розничным продавцам и библиотекам.Это решение очевидно дорогое, поэтому я надеюсь, что есть более элегантное решение, которое я пропустил.Но если нет, и кто-то в SO имел хороший опыт работы с конкретной базой данных, я готов пойти на это.
Я попытался описать мой подход подробно, чтобы другие с меньшим количествомкниги могут воспользоваться вышеперечисленными решениями.Но, учитывая мои требования, я нахожусь в своем уме для извлечения метаданных книги, поэтому любые указатели очень ценятся.