2010-07-20 6 views
22

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

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

варианты я попытался это:

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

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

+0

Вы попробовали [Goodreads API] (https://www.goodreads.com/api)? – Veenit

ответ

4

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

+0

Я бы хотел сделать это, но ограничение в 500 книг в день является значительным ограничением при загрузке больших (~ 30 000) запасов в базу данных. Было бы идеально, чтобы либо взломать API, либо приобрести доступ к существующей базе данных, которую я мог бы использовать без ограничений по количеству поисковых запросов. – Saketh

+0

с таким большим количеством предметов кажется, что вы идете по профессиональному маршруту. я сомневаюсь, что любая услуга позволит вам в основном клонировать свои базы данных, не платя им (серьезных) денег. – akira

+0

Проблема заключается в том, что ввод в шахматном порядке (например, 10 000 книг одновременно, а затем нет в течение некоторого времени), но ввод должен выполняться сразу. – Saketh

1

Как мне кажется, много библиотек и других организаций делают такую ​​информацию, как «ISBN» доступен через Машиночитаемой каталогизацию ака MARC, вы можете найти более подробную информацию об этом here а.

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

Может быть, вся эта МАРК вещь дает новый вид идею :)

+0

Нет разумных открытых или платных, но простых в использовании способов решения проблемы с использованием записей MARC, поскольку такие сайты, как WorldCat, обычно требуют, чтобы одна была библиотекой для доступа к их API поиска. Я был удивлен, потому что можно было бы думать, что общедоступный каталог книг будет легко найти! – Saketh

+0

, поэтому вы не можете использовать поиск api (http://worldcat.org/devnet/wiki/SearchAPIDetails)? – akira

+0

API WorldCat использует ключ доступа - я попросил его, но если бы я смог найти независимое решение, это было бы здорово. – Saketh

4

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

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

Смежные вопросы