Как получить метаданные книги? - PullRequest
25 голосов
/ 20 июля 2010

Мое приложение должно получать информацию о любой опубликованной книге на основе предоставленного номера ISBN, названия или автора.Вряд ли это является уникальным требованием - сайты вроде Amazon.com, Chegg.com и даже такие программы, как Book Collector, могут легко это сделать.Но я не смог его воспроизвести.

Чтобы уточнить, мне не нужно искать всю базу данных книг - только ограниченное подмножество, которое было введено, как в коллекции книг.База данных просто позволит мне помечать введенные книги необходимыми метаданными, чтобы включить поиск по этому подмножеству книг.Таким образом, здесь не проблема масштабирования - получение метаданных.

Я попробовал следующие варианты:

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

Я попытался описать мой подход подробно, чтобы другие с меньшим количествомкниги могут воспользоваться вышеперечисленными решениями.Но, учитывая мои требования, я нахожусь в своем уме для извлечения метаданных книги, поэтому любые указатели очень ценятся.

Ответы [ 4 ]

4 голосов
/ 17 мая 2011

Вместо очистки Amazon вы можете использовать API, который они предоставляют для своей партнерской программы: https://affiliate -program.amazon.com / gp / advertising / api / detail / main.html

Позволяет около 3 тыс. Запросов в час и возвращает правильно сформированный XML. Требуется установить ссылку на книгу, информацию о которой вы показываете, и вы должны указать, что вы являетесь партнером.

4 голосов
/ 20 июля 2010

Поскольку маловероятно, что вам придется получать одни и те же 500 книг каждый день: сохраняйте данные, полученные с isbndb.com, в базе данных и заполняйте их книга за книгой.

1 голос
/ 20 июля 2010

Как представляется, многие библиотеки и другие организации предоставляют такую ​​информацию, как "ISBN", доступную через MAchine-Readable Cataloging aka MARC , вы можете найти больше информации об этом здесь также.

Теперь, зная «правильный» термин для поиска, я обнаружил WorldCat.org .

Может быть, вся эта вещь MARC дает вам новую идею:)

0 голосов
/ 08 мая 2018

Это может быть то, что вы ищете. Они даже предлагают полную загрузку! https://openlibrary.org/data

...