Подтвердить что ты не робот

Как получить метаданные книги?

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

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

Параметры, которые я пробовал:

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

Ответ 3

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

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

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