2010-09-04 12 views
7

¿Hay alguna manera de buscar las distintas ediciones de un libro basado en su ISBN utilizando la API de Amazon Product Advertising?Buscar ediciones de un libro

Y, en general, ¿cuáles son las diversas opciones para buscar metadatos de edición en un libro? Solo uno de lo que estoy seguro es la api xISBN de worldcat

En mi sitio tenemos un botón de "más ediciones" para cuando la gente busca libros ... así que estaría haciendo un montón de consultas (y guardándolos en caché)

Respuesta

0

1) buscar con el título siendo el mismo 2) Iterar sobre la lista de respuestas (que debería ser de 5-10 resultados para la mayoría de los libros; libros con títulos genéricos como "Programación Python" darán lugar a muchos resultados; puede no funcionar) 3) Ver la diferencia en el número de ISBN + Fecha de publicación

No recuerdo que haya una API directa para el mismo.

+0

Las búsquedas de títulos lamentablemente ofrecen libros de diferentes grupos de edición. Buscando una API directa. – babonk

2

El ISBN DB proporciona a remote access API que devolverá varios metadatos formateados como XML. De las entradas de navegación en su sitio web, algunas de las entradas de ISBN también incluyen información de edición.

Salida esta API de respuestas de ejemplo:

<?xml version="1.0" encoding="UTF-8"?> 
<ISBNdb server_time="2005-07-29T03:02:22"> 
<BookList total_results="1"> 
    <BookData book_id="paul_laurence_dunbar" isbn="0766013502"> 
    <Title>Paul Laurence Dunbar</Title> 
    <TitleLong>Paul Laurence Dunbar: portrait of a poet</TitleLong> 
    <AuthorsText>Catherine Reef</AuthorsText> 
    <PublisherText publisher_id="enslow_publishers"> 
    Berkeley Heights, NJ: Enslow Publishers, c2000. 
    </PublisherText> 
    <Summary> 
    A biography of the poet who faced racism and devoted himself 
    to depicting the black experience in America. 
    </Summary> 
    <Notes> 
    "Works by Paul Laurence Dunbar": p. 113-114. 
    Includes bibliographical references (p. 124) and index. 
    </Notes> 
    <UrlsText></UrlsText> 
    <AwardsText></AwardsText> 
    <Prices> 
    <Price store_id="alibris" is_in_stock="1" is_new="0" 
      check_time="2005-07-29T01:18:18" price="14.92"/> 
    <Price store_id="amazon" is_in_stock="1" is_new="1" 
      check_time="2005-07-29T01:18:20" price="26.60" /> 
    </Prices> 
    </BookData> 
</BookList> 
</ISBNdb> 

Además, aquí es specific documentation de atributos en los libros de la colección 'respuesta XML.

+0

No veo otras ediciones en esa respuesta – babonk

+0

Es cierto, pero la API proporciona todo lo necesario para resolver este problema usted mismo. Al leer brevemente la documentación, los datos se organizan en diferentes tipos de colecciones. Puede buscar en la colección de libros tanto para el título como para el autor, lo que hace que los falsos positivos sean poco probables. A menos que, por supuesto, el autor haya escrito varios libros sobre el tema ... pero aun así, debería ser una tarea trivial eliminarlos. – Rob

+0

/api/books.xml?access_key=Z&index1=combined&value1=book_title+by+author_name – Rob

4

Se puede usar de OCLC xISBN API - darle un ISBN y le da un conjunto de todos los números ISBN que son los mismos "trabajo" - otras ediciones, traducciones, etc. Se le dará algo como esto:

<?xml version="1.0" encoding="UTF-8"?> 
<rsp xmlns="http://worldcat.org/xid/isbn/" stat="ok"> 
    <isbn form="BA" year="2004" lang="eng" ed="2nd ed.">0596002815</isbn> 
    <isbn form="BA DA" year="1999" lang="eng">1565928938</isbn> 
    <isbn form="BA" year="1999" lang="eng" ed="1st ed.">1565924649</isbn> 
</rsp> 

Lamentablemente, no es gratis. Here is the pricing.

+0

He estado usando ese ... Me pregunto si es posible a través de Amazon y si hay otras opciones – babonk

+0

hm ... Hay es LibraryThing ThingISBN pero está disponible solo para uso no comercial: http://www.librarything.com/blogs/thingology/2006/06/introducing-thingisbn/ – casey

+0

Parece que esas son las opciones. Contando como correcto – babonk

3

Esta pregunta es antigua, pero para completar, agregaré que Amazon Product Advertising API ofrece una forma de buscar otras ediciones (y números ISBN) de un libro, pero esto implica dos consultas ItemLookup:

  • una primera consulta para obtener el ASIN del elemento padre, que Amazon llama Autoridad no Se puede comprar; este es un producto virtual que no tiene página de productos, y es solo un contenedor para productos infantiles.
  • una segunda consulta para enumerar los elementos secundarios de este elemento principal.

Ambas consultas deben incluir los siguientes parámetros:

  • ResponseGroup=RelatedItems,ItemAttributes
  • RelationshipType=AuthorityTitle

La primera consulta con un número de ISBN se vería así:

...&IdType=ISBN&ItemId=9780345803481

<RelatedItems> 
    <Relationship>Parents</Relationship> 
    <RelationshipType>AuthorityTitle</RelationshipType> 
    <RelatedItemCount>1</RelatedItemCount> 
    <RelatedItemPageCount>1</RelatedItemPageCount> 
    <RelatedItemPage>1</RelatedItemPage> 
    <RelatedItem> 
     <Item> 
      <ASIN>B0058NLWEC</ASIN> 
      ... 
     </Item> 
    </RelatedItem> 
</RelatedItems> 

La segunda consulta se realiza con el padre ASIN devuelto por la primera consulta, B0058NLWEC:

...&IdType=ASIN&ItemId=B0058NLWEC

<RelatedItems> 
    <Relationship>Children</Relationship> 
    <RelationshipType>AuthorityTitle</RelationshipType> 
    <RelatedItemCount>42</RelatedItemCount> 
    <RelatedItemPageCount>5</RelatedItemPageCount> 
    <RelatedItemPage>1</RelatedItemPage> 
    <RelatedItem> 
     <Item> 
      <ASIN>1445026570</ASIN> 
      <ItemAttributes> 
       <EAN>9781445026572</EAN> 
       <ISBN>1445026570</ISBN> 
       ... 
      </ItemAttributes> 
      ... 
     </Item> 
    </RelatedItem> 
    <RelatedItem> 
     <Item> 
      <ASIN>1471305015</ASIN> 
      <ItemAttributes> 
       <EAN>9781471305016</EAN> 
       <ISBN>1471305015</ISBN> 
       ... 
      </ItemAttributes> 
      ... 
     </Item> 
    </RelatedItem> 
    ... 
</RelatedItems> 

Esta lista todas las ediciones de este libro tan conocido por Amazon: tapa dura, rústica, Kindle, audiolibro, ...

Cuestiones relacionadas