Intereting Posts
Got Hacked – Кто-нибудь знает, что делает этот PHP-код? Laravel 5 Как работать с аутентификацией в двух разных формах входа с разными таблицами Как -13% 64 = -13 в PHP? mysql_num_rows дает ошибку "mysql_num_rows () ожидает, что параметр 1 будет ресурсом" Пользовательская маршрутизация URL с PHP и регулярным выражением генерирование уникальных идентификаторов в php (для сокращения URL) Соединение с MySQL не работает php: загрузить содержимое переменной как файл Определите, существует ли комбинация записей «много ко многим» PHP: синтаксическая ошибка, неожиданное «&» в /etc/php5/cli/php.ini в строке 107 Профилирование PHP в apache Любой способ выбрать из таблицы MySQL, где поле заканчивается определенным символом / номером? Как найти файл php.ini, используемый командной строкой? Почему бы не использовать «защищенный» или «закрытый» в PHP? Не удалось записать файл кэша «/var/www/myapp/app/cache/dev/classes.php» при очистке кеша

Как получить название книги из номера ISBN?

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

Веб-сайт попросит меня номер ISBN книги, а затем автоматически получит название и добавит его в мою базу данных.

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

Solutions Collecting From Web of "Как получить название книги из номера ISBN?"

Это основатель LibraryThing. Здесь нам нечего предложить, поэтому я надеюсь, что мои комментарии не будут казаться корыстными.

Во-первых, комментарий об Amazon, ASINs и ISBN числах ошибочен несколькими способами. Почти в каждом случае, когда книга имеет ISBN, ASIN и ISBN одинаковы. ISBN теперь не 13 цифр. Скорее, ISBN могут быть либо 10, либо 13. Десятизначные ISBN могут быть выражены как 13-значные, начиная с 978, что означает, что каждый ISBN, находящийся в настоящее время, имеет как 10, так и 13-значную форму. Доступны всевозможные библиотеки для конвертации между ISBN10 и ISBN13. В принципе, вы добавляете 978 к фронту и пересчитываете цифру контрольной суммы в конце.

ISBN13 был изобретен, потому что у издателей закончились ISBN. В ближайшем будущем, когда начнутся 979-основанные ISBN13, у них не будет эквивалента ISBN10. Насколько мне известно, нет опубликованных книг с ISBN на основе 979, но они скоро появятся. Во всяком случае, длинный и короткий, что Amazon использует форму ISBN10 для всех 978 ISBN10. В любом случае, независимо от того, использует ли Amazon десять или тринадцатизначные ASIN, вы можете искать Amazon либо просто отлично.

Лично я бы не поставил ISBN DB наверху вашего списка. ISBN DB из нескольких источников, но он не такой всеобъемлющий, как Amazon или Google. Скорее, я бы посмотрел на Amazon, включая различные международные амазонки, а затем новый API данных Google Book и, после этого, OpenLibrary API. Для книг, отличных от английского, существуют другие варианты, такие как озон для русских книг.

Если вам нужны данные самого высокого качества или у вас есть книги, опубликованные до 1970 года, вам нужно будет изучить данные из библиотек, доступных по протоколу Z39.50 и обычно в формате MARC, или, с несколькими библиотеками в Dublin Core, используя протокол SRU / SRW. Формат MARC, для современного программиста, довольно странный материал. Но, вы получите его, это также лучшие данные, и включает полезные поля, такие как LCCN, DDC, LCC и LCSH.

LibraryThing запускает домашнюю библиотеку Python, которая запрашивает около 680 библиотек и преобразует многие разновидности MARC в совместимый с Amazon XML, с дополнительными функциями. В настоящее время мы не хотим выпускать этот код, но вскоре можем выпустить услугу.

Ознакомьтесь с API-интерфейсом ISBN DB . Это простой веб-сервис на основе REST. Не пробовал это сам, но у друга был успешный опыт.

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

У Google есть свой API для Google Книги, который позволяет вам легко запрашивать базу данных Google Book. Протокол основан на JSON, и вы можете просмотреть техническую информацию об этом здесь .

Вам просто нужно запросить следующий URL-адрес:

https://www.googleapis.com/books/v1/volumes?q=isbn:YOUR_ISBN_HERE

Это вернет вам информацию о книге в формате JSON.

Попробуйте https://gumroad.com/l/RKxO

Я купил эту базу данных около 3 недель назад для приложения для цитирования книг, которое я делаю. У меня не было проблем с качеством, и практически любая найденная мной книга была обнаружена. Единственная проблема заключается в том, что они предоставляют файл в CSV, и мне пришлось конвертировать 20 миллионов строк, которые заняли у меня почти час! Также ежемесячные обновления не являются дельтами, и вся база данных отправляется, которая работает для меня, но может быть некоторой работой для других.

Я не пробовал, но взгляните на isbndb

API Описание: Введение

Интерфейс прикладного программирования ISBNdb.com (API) предназначен для того, чтобы другие веб-сайты и автономные приложения использовали обширную коллекцию данных, собранных ISBNdb.com с 2003 года. На момент написания этой статьи в июле 2005 года данные насчитывали около 1800 000 книг; почти 3 000 000 000 библиотек; около миллиона предметов; сотни тысяч записей авторов и издателей проанализировали данные библиотеки; более 10 000 000 записей фактических и исторических цен.

Некоторые идеи о том, как использовать API, включают:

- Cataloguing home book collections - Building and verifying bookstores' inventories - Empowering forums and online communities with more useful book references - Automated cross-merchant price lookups over messaging devices or phones 

Используя API, вы можете искать информацию по ключевым словам, по ISBN, авторам или издателям и т. Д. В большинстве случаев API достаточно быстр, чтобы использоваться в интерактивных приложениях.

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

API в первую очередь предназначен для использования программистами. Интерфейс стремится быть независимым от платформы и программирования, используя открытые стандартные протоколы и форматы сообщений.

Чтобы получить данные для данного номера ISBN, вам необходимо взаимодействовать с некоторыми онлайн-сервисами, такими как isbndb . Одним из лучших источников для библиографической информации является веб-сервис Amazon. Он предоставляет вам всю библиографическую информацию + обложку книги.

Возможно, вам захочется заглянуть в LibraryThing , у него есть API, который будет делать то, что вы хотите, и они обрабатывают такие вещи, как отображение нескольких ISBN для разных выпусков одной «работы».

Хотя другие ответы верны, этот процесс объясняет немного подробнее. Этот использует API GOOGLE BOOKS.

https://giribhatnagar.wordpress.com/2015/07/12/search-for-books-by-their-isbn/

Все, что вам нужно сделать, это
1. Создайте соответствующий HTTP-запрос
2. Отправить и получить объект JSON, содержащий подробную информацию о книге
3. Извлечь заголовок из полученной информации
Ответ вы получаете в JSON. Код, указанный на вышеуказанном сайте, предназначен для NODE.js, но я уверен, что нетрудно воспроизвести это на PHP (или на любом другом языке, если на то пошло).

В качестве альтернативы isbndb (который кажется идеальным ответом) у меня создалось впечатление, что вы можете передать ISBN в URL-адрес продукта Amazon, чтобы перейти на страницу Amazon для книги. Хотя это не будет программным образом возвращать название книги, возможно, это была полезная дополнительная функция, если вы хотите установить ссылку на отзывы пользователей Amazon из своей базы данных.

Однако эта ссылка показывает, что я ошибался. Фактически то, что Amazon использует, является номером ASIN, и в то время как это было так же, как 10-значные номера ISBN, они больше не единственные – ISBN теперь имеют 13 цифр (хотя есть прямое преобразование из старого десятизначного типа ).

Но более полезно, одна и та же ссылка говорит о API Amazon, который может конвертировать из ISBN в ASIN и, вероятно, также позволит вам искать заголовки и другую информацию. Это в первую очередь предназначено для амазонских филиалов, но, без сомнения, это может сделать работу, если по какой-то причине isbndb этого не делает.

Редактировать: Тим Спалдинг выше указывает несколько практических фактов об ISBN. Я был немного пессимистичен в предположении, что ASINs больше не будут соответствовать.

Вы также можете попробовать эту базу данных: http://www.usabledatabases.com/database/books-isbn-covers/

У него больше книг / ISBN, чем у большинства веб-сервисов, которые вы можете найти в Интернете. Но это, вероятно, слишком много для вашего небольшого сайта.