Como posso pesquisar dados sobre um livro a partir do seu número de código de barras? [fechadas]

StackOverflow https://stackoverflow.com/questions/106963

Pergunta

Estou construindo mais simples aplicativo de biblioteca do mundo. Tudo o que eu quero ser capaz de fazer é varredura em um livro UPC (código de barras) usando um scanner típico (que apenas tipos os números do código de barras em um campo) e, em seguida, usá-lo para procurar dados sobre o livro ... em um mínimo, título, autor, ano de publicação, e quer a Dewey Decimal ou Biblioteca do número de catálogo Congresso.

O objetivo é imprimir um pequeno autocolante ( "rótulo espinha") com o número de catálogo do cartão que eu possa ficar na lombada do livro, e então eu posso classificar os livros por número de catálogo do cartão nas prateleiras em nosso biblioteca empresa. Dessa forma, livros sobre temas semelhantes tendem a ser próximos uns dos outros, por exemplo, se você sabe que você está procurando um livro sobre contabilidade, tudo que você tem a fazer é encontrar algum livro sobre contabilidade e você vai ver a outra meia dúzia que temos bem próximo a ela o que torna conveniente para navegar na biblioteca.

Parece haver muitas APIs web para fazer isso, incluindo Amazon e da Biblioteca do Congresso. Mas esses são todos extremamente confuso para mim. O que eu realmente só quero é uma função de nível superior único que recebe um número de código de barras UPC e retorna alguns dados básicos sobre o livro.

Foi útil?

Solução

Há uma solução muito simples baseado na web sobre a ISBNDB.com que você pode querer olhar.

Editar: Atualizado ligação documentação da API, agora há a versão 2 também disponíveis

Link para preços e níveis aqui

Você pode ser instalado e funcionando em apenas alguns minutos (estes exemplos são de v1 API):

  • se cadastrar no site e obter uma chave para usar a API
  • tentar um URL como:

    http://isbndb.com/api/books.xml?access_key= {yourkey} &index1=isbn&results=details&value1=9780143038092

Os resultados = Detalhes fica detalhes adicionais, incluindo o número de catálogo do cartão.

Como um aparte, geralmente o código de barras é o ISBN em qualquer ISBN10 ou ISBN13. Você apenas tem que apagar os últimos 5 números se você estiver usando um scanner e você pegar 18 números.

Aqui está uma resposta de amostra:

<ISBNdb server_time="2008-09-21T00:08:57Z">
  <BookList total_results="1" page_size="10" page_number="1" shown_results="1">
    <BookData book_id="the_joy_luck_club_a12" isbn="0143038095">
      <Title>The Joy Luck Club</Title>
      <TitleLong/>
      <AuthorsText>Amy Tan, </AuthorsText>
      <PublisherText publisher_id="penguin_non_classics">Penguin (Non-Classics)</PublisherText>
      <Details dewey_decimal="813.54" physical_description_text="288 pages" language="" edition_info="Paperback; 2006-09-21" dewey_decimal_normalized="813.54" lcc_number="" change_time="2006-12-11T06:26:55Z" price_time="2008-09-20T23:51:33Z"/>
    </BookData>
  </BookList>
</ISBNdb>

Outras dicas

Nota: Eu sou o cara LibraryThing, por isso esta é a auto-promoção parcial

.

Dê uma olhada esta resposta StackOverflow , que abrange algumas boas maneiras de obter dados para um determinado ISBN.

Para seus problemas, Amazon inclui um simples DDC (Dewey); O Google não faz. A API WorldCat faz, mas você precisa ser uma biblioteca OCLC para usá-lo.

A questão ISBN / UPC é complexa. Prefere o ISBN, se você pode encontrá-los. Massa brochuras mercado, por vezes UPCs desportivas no exterior e um ISBN dentro.

membros do LibraryThing desenvolveram algumas páginas sobre o problema e sobre os esforços para mapear os dois:

Se você comprar de Fronteiras códigos de barras do seu livro serão todos stickered mais com seus próprios códigos de barras interno (chamado um "BINC"). Mais irritante que quer colar que o uso fica mais difícil para remover de forma limpa ao longo do tempo. Não sei de nenhuma API que os converte. LibraryThing faz isso por screenscraping.

Para uma API, eu iria com Amazon. LibraryThing é uma boa opção de não-API, resolvendo BINCs e adicionando DDC e LCC para livros que não têm-los por olhar para outras edições do "trabalho".

O que está faltando é a parte rótulo. precisa de alguém para criar um modelo de boa PDF para isso.

Editar Seria muito fácil se você tivesse ISBN. mas a conversão de UPC para ISBN não é tão fácil como você gostaria.

Aqui está um código javascript para ele a partir http://isbn.nu onde é feito no roteiro

if (indexisbn.indexOf("978") == 0) {
   isbn = isbn.substr(3,9);
   var xsum = 0;
   var add = 0;
   var i = 0;
   for (i = 0; i < 9; i++) {
        add = isbn.substr(i,1);
        xsum += (10 - i) * add;
   }
   xsum %= 11;
   xsum = 11 - xsum;
   if (xsum == 10) { xsum = "X"; }
   if (xsum == 11) { xsum = "0"; }
   isbn += xsum;
}

No entanto, isso só convertidos do UPC para ISBN alguns do tempo.

Você pode querer olhar para o código de barras digitalização projeto página , também - a jornada de uma pessoa aos livros de digitalização.

Assim que você sabe sobre Amazon Web Services . Mas isso pressupõe a Amazon tem o livro e ter digitalizado na UPC.

Você também pode tentar o UPCdatabase em http://www.upcdatabase.com/item/ {UPC}, mas este é também incompleta - pelo menos está crescendo ..

A biblioteca de banco de dados do congresso também é incompleta com UPCs até agora (embora seja bastante abrangente), e é mais difícil de se automatizado.

Atualmente, parece que você teria que escrever isso mesmo, a fim de ter uma pesquisa de alto nível que retorna informações simples (e tenta cada serviço)

soa como o tipo de trabalho que se poderia obter uma pequena empresa de software para fazer por você ...

Mais a sério, existem serviços que fornecem uma interface para o catálogo ISBN, www.literarymarketplace.com.

Em worldcat.com, você pode criar uma URL usando o ISBN que irá levá-lo direto para uma página de detalhes do livro. Essa página não é como muito útil porque é ainda HTML raspagem para obter os dados, mas eles têm um link para baixar os dados do livro em um par formatos "padrão".

Por exemplo, seu livro de demonstração: http://www.worldcat.org/isbn/9780060817084 Tem um "EndNote" link para download formato http: // www. worldcat.org/oclc/123348009?page=endnote&client=worldcat.org-detailed_record , e você pode colher os dados a partir desse arquivo muito facilmente. Isso está ligado a partir de seu próprio número OCLC, não o ISBN, mas o arranhão para converter que não é difícil, e eles podem ainda ter uma boa interface para fazê-lo.

Minha esposa bibliotecário usa http://www.worldcat.org/ , mas off-chave ISBN . Se você pode fazer a varredura que, você é ouro. Olhando para alguns livros, parece que a UPC é o mesmo ou relacionados com o ISBN.

Oh, esses caras têm uma função para fazer a conversão da UPC para ISBN.

Usando o web site Biblioteca coisa , você pode fazer a varredura em seus códigos de barras (todo o código de barras, não apenas o ISBN - se você tem uma varredura "cunha" você está com sorte) e construir sua biblioteca. (É uma rede social excelente -. Pensar StackOverflow para entusiastas do livro)

Em seguida, usando a seção de ferramentas, você pode exportar sua biblioteca. Agora você tem um arquivo de texto para importação / parse e pode criar suas etiquetas, um catálogo de fichas, etc.

Eu tenho medo do problema é o acesso de banco de dados. As empresas pagam para ter um UPC atribuído e por isso o banco de dados não é livremente acessível. O href="http://www.upcdatabase.com/" rel="nofollow noreferrer"> UPCdatabase local UPCData.info , mas eles são usuário digitou -. que meios incompletos e possivelmente imprecisa

Você sempre pode entrar na UPC para o Google e obter um sucesso, mas isso não é muito automatizado. Mas isso não acertar a maior parte do tempo.

Eu pensei que eu me lembrava Jon Udell fazer algo como isso (por exemplo, ver este ), mas foi puramente ISBN base.

Parece que você encontrou um novo projeto para alguém para trabalhar em!

Se você está querendo usar o Amazon você pode implementá-lo facilmente com LINQ to Amazon .

Working no mundo biblioteca de nós simplesmente se conectar aos LMS passar o código de barras e voilá volta trata os dados. Eu acredito que há um número de fornecedores LMS livres - Google por "lms de código aberto"

.

Nota: Este provavelmente funciona off ISBN ...

Você pode encontrar um PHP implementado ferramenta ISBN lookup em Dawson Interativo .

I recomendam frequentemente usando da Amazon API produto da filial (confira aqui https: / /affiliate-program.amazon.com ), no entanto, existem algumas outras opções disponíveis também.

Se você quiser garantir a precisão dos dados, você pode ir com a uma solução paga. GS1 é a organização que os códigos UPC questões, pelo que a sua informação deve ser sempre precisas ( https :. //www.gs1us.org/tools/gs1-company-database-gepir )

Há também um número de bases de dados de terceiros com informações relevantes, tais como https://www.upccodesearch.com/ ou https://www.upcdatabase.com/ .

Nada como uma resposta quase 5 anos após o fato, mas aqui é o meu par de pena brilhante tostões.

Estou actualmente a construir algo que iria fazer o trabalho muito bem ... https://blinked.in - que está rapidamente se tornando o maior banco de dados de código de barras UPC / EAN 13 (nós adicionamos mais de códigos de barras 7M apenas na última semana), enquanto ainda estamos na fase alpha de desenvolvimento estamos introduzindo uma muito simples, API de baixo custo para fornecer apenas este tipo de acesso a dados.

Nós só estive em dev por um par de meses, mas já tem uma plataforma web estável, rápida expansão da base de dados eo desejo de manter as coisas simples.

Espero que isso ajude você, ou algum leitor futuro, de alguma forma.

Atualização

A nossa API está agora ao vivo - https://blinked.in/api - e nós temos jogado a 100 chamadas gratuitas por dia, e você pode ganhar o crédito de ajudar-nos a descobrir novos códigos de barras - https://blinked.in/bandwidthaccount

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top