문제

저는 세계에서 가장 간단한 라이브러리 애플리케이션을 구축하고 있습니다.내가 할 수 있기를 원하는 것은 일반 스캐너(바코드 번호를 필드에 입력하는 것)를 사용하여 책의 UPC(바코드)를 스캔한 다음 이를 사용하여 책에 대한 데이터를 찾는 것뿐입니다.최소한 제목, 저자, 출판 연도 및 듀이 십진법 또는 의회 도서관 카탈로그 번호.

목표는 책등에 붙일 수 있는 카드 카탈로그 번호가 있는 작은 스티커("등뼈 라벨")를 인쇄한 다음 회사 도서관 선반에 있는 카드 카탈로그 번호별로 책을 정렬하는 것입니다.이렇게 하면 유사한 주제에 관한 책이 서로 가까이 있는 경향이 있습니다. 예를 들어, 회계에 관한 책을 찾고 있다는 것을 알고 있다면 회계에 관한 몇 권의 책을 찾으면 나머지 여섯 권을 볼 수 있습니다. 바로 옆에 있어서 도서관을 둘러보기에 편리합니다.

Amazon과 의회 도서관을 포함하여 이를 수행하는 많은 웹 API가 있는 것 같습니다.하지만 그 모든 것이 나에게는 매우 혼란스럽습니다.내가 정말로 원하는 것은 UPC 바코드 번호를 가져와 책에 대한 일부 기본 데이터를 반환하는 단일 상위 수준 함수입니다.

도움이 되었습니까?

해결책

ISBNDB.com에는 여러분이 살펴보고 싶을 만한 매우 간단한 웹 기반 솔루션이 있습니다.

편집하다: 업데이트된 API 문서 링크, 이제 버전 2도 사용할 수 있습니다.

여기에서 가격 및 등급 링크를 확인하세요.

단 몇 분만에 시작하여 실행할 수 있습니다(이 예는 API v1에서 가져온 것입니다).

  • 사이트에 등록하고 API를 사용하기 위한 키를 받으세요
  • 다음과 같은 URL을 시도해 보세요.

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

results=details는 카드 카탈로그 번호를 포함한 추가 세부정보를 가져옵니다.

여담으로, 일반적으로 바코드는 isbn10 또는 isbn13의 isbn입니다.스캐너를 사용하여 18개 숫자를 선택했다면 마지막 5개 숫자만 삭제하면 됩니다.

샘플 응답은 다음과 같습니다.

<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>

다른 팁

메모:나는 LibraryThing 사람이므로 이것은 부분적인 자기 홍보입니다.

보세요 이 StackOverflow 답변, 특정 ISBN에 대한 데이터를 얻는 몇 가지 좋은 방법을 다룹니다.

귀하의 문제에 대해 Amazon에는 간단한 DDC(Dewey)가 포함되어 있습니다.구글은 그렇지 않습니다.WorldCat API는 가능하지만 이를 사용하려면 OCLC 라이브러리여야 합니다.

ISBN/UPC 문제는 복잡합니다.ISBN을 찾을 수 있다면 선호하세요.대중 시장 문고판에는 때때로 외부에 UPC가 있고 내부에 ISBN이 표시되어 있습니다.

LibraryThing 회원들은 이 문제와 두 가지를 매핑하려는 노력에 대해 몇 페이지를 개발했습니다.

Borders에서 구매하는 경우 책의 바코드는 자체 내부 바코드("BINC"라고 함)로 모두 스티커로 부착됩니다.가장 짜증나는 점은 어떤 접착제를 사용하든 시간이 지남에 따라 깨끗하게 제거하기가 점점 더 어려워진다는 것입니다.나는 그것들을 변환하는 API가 없다는 것을 알고 있습니다.LibraryThing은 스크린스크래핑을 통해 이를 수행합니다.

API의 경우 Amazon을 선택하겠습니다.LibraryThing은 API가 아닌 좋은 옵션으로, BINC를 해결하고 "작업"의 다른 버전을 살펴봄으로써 BINC가 없는 책에 대해 DDC 및 LCC를 추가합니다.

아쉬운 점은 라벨 부분입니다.누군가는 이를 위해 좋은 PDF 템플릿을 만들어야 합니다.

편집하다 ISBN이 있으면 매우 쉬울 것입니다.하지만 UPC에서 ISBN으로 변환하는 것은 원하는 만큼 쉽지 않습니다.

여기에 대한 일부 자바스크립트 코드가 있습니다. http://isbn.nu 스크립트에서 수행되는 위치

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;
}

그러나 이는 UPC에서 ISBN으로만 변환됩니다. 일부 그 시간의.

당신은 바코드 스캐닝 프로젝트 페이지, 역시 - 책을 스캔하기 위한 한 사람의 여정.

그래서 당신은 알고 아마존 웹 서비스.그러나 이는 아마존이 책을 가지고 있고 UPC로 스캔했다고 가정합니다.

다음을 시도해 볼 수도 있습니다. UPC데이터베이스 ~에 http://www.upcdatabase.com/item/{UPC}, 그러나 이것도 불완전합니다. 적어도 성장하고 있습니다..

의회 데이터베이스 라이브러리도 아직까지는 UPC가 불완전하며(상당히 포괄적이지만) 자동화하기가 더 어렵습니다.

현재는 간단한 정보를 반환하고 각 서비스를 시도하는 상위 수준 조회를 수행하려면 이를 직접 작성해야 할 것 같습니다.

작은 소프트웨어 회사에서 당신을 대신해 해줄 수 있는 일처럼 들리네요...

더 심각한 것은 ISBN 카탈로그 www.literarymarketplace.com에 대한 인터페이스를 제공하는 서비스가 있다는 것입니다.

worldcat.com에서는 다음을 수행할 수 있습니다. ISBN을 사용하여 URL을 만듭니다. 그러면 도서 세부정보 페이지로 바로 이동됩니다.해당 페이지는 여전히 데이터를 얻기 위한 HTML 스크래핑이기 때문에 그다지 유용하지 않지만 몇 가지 "표준" 형식으로 책 데이터를 다운로드할 수 있는 링크가 있습니다.

예를 들어 데모북은 다음과 같습니다. http://www.worldcat.org/isbn/9780060817084"EndNote" 형식 다운로드 링크가 있습니다. http://www.worldcat.org/oclc/123348009?page=endnote&client=worldcat.org-detailed_record, 해당 파일에서 데이터를 매우 쉽게 수집할 수 있습니다.이는 ISBN이 아닌 자체 OCLC 번호에서 연결되지만 변환하는 스크랩은 어렵지 않으며 아직 이를 수행할 수 있는 좋은 인터페이스가 있을 수 있습니다.

사서 아내가 사용하는 http://www.worldcat.org/, 그러나 ISBN을 입력하지 않습니다.스캔할 수 있다면 당신은 황금입니다.몇 권의 책을 보면 UPC가 ISBN과 동일하거나 관련이 있는 것처럼 보입니다.

오, 이 녀석 UPC에서 ISBN으로 변환하는 기능이 있습니다.

웹사이트 이용하기 도서관 물건, 바코드(ISBN뿐만 아니라 전체 바코드 - 스캔 "웨지"가 있는 경우 운이 좋다)를 스캔하고 라이브러리를 구축할 수 있습니다.(훌륭한 소셜 네트워크입니다. 책을 좋아하는 분들이라면 StackOverflow를 생각해 보세요.)

그런 다음 TOOLS 섹션을 사용하여 라이브러리를 내보낼 수 있습니다.이제 가져오거나 구문 분석할 텍스트 파일이 있고 라벨, 카드 카탈로그 등을 만들 수 있습니다.

문제는 데이터베이스 액세스입니다.회사는 UPC를 할당하기 위해 비용을 지불하므로 데이터베이스에 자유롭게 액세스할 수 없습니다.그만큼 UPC데이터베이스 Philip이 언급한 사이트는 시작과 같습니다. UPCData.info, 이지만 사용자가 입력한 것이므로 불완전하고 부정확할 수 있습니다.

언제든지 Google에 UPC를 입력하고 히트를 얻을 수 있지만 그다지 자동화되지는 않습니다.하지만 대부분의 경우 제대로 작동합니다.

Jon Udell이 이런 일을 했던 것을 기억하는 것 같았습니다(예: 이것 좀 봐), 그러나 순전히 ISBN 기반이었습니다.

누군가가 작업할 수 있는 새 프로젝트를 찾은 것 같습니다!

Amazon을 사용하고 싶다면 다음을 사용하여 쉽게 구현할 수 있습니다. LINQ에서 아마존으로.

도서관 세계에서 작업할 때 바코드의 LMS 패스에 연결하기만 하면 데이터가 다시 돌아옵니다.나는 무료 LMS 제공업체가 많이 있다고 생각합니다. Google에서는 "오픈 소스 lms"를 제공합니다.

메모:아마도 ISBN에서 작동 할 것입니다 ...

PHP로 구현된 ISBN 조회 도구는 다음에서 찾을 수 있습니다. 도슨 인터랙티브.

자주 사용하는 것이 좋습니다 Amazon의 제품 제휴 API (여기서 확인해보세요 https://affiliate-program.amazon.com) 그러나 몇 가지 다른 옵션도 사용할 수 있습니다.

데이터의 정확성을 보장하려면 유료 솔루션을 사용할 수 있습니다.GS1은 UPC 코드를 발행하는 기관이므로 해당 정보는 항상 정확해야 합니다(https://www.gs1us.org/tools/gs1-company-database-gepir).

다음과 같은 관련 정보가 포함된 제3자 데이터베이스도 많이 있습니다. https://www.upccodesearch.com/ 또는 https://www.upcdatabase.com/ .

그 사실이 있은 지 거의 5년이 지났는데도 대답만큼 좋은 것은 없습니다. 하지만 여기에 제 빛나는 동전 몇 푼 가치가 있습니다.

나는 현재 그 일을 훌륭하게 해낼 무언가를 만들고 있습니다 ... https://blinked.in - 가장 큰 UPC/EAN13 바코드 데이터베이스로 빠르게 성장하고 있는 것(지난 주에만 7백만 개가 넘는 바코드를 추가했습니다). 아직 알파 개발 단계에 있지만 매우 간단하고 저렴한 API를 도입할 예정입니다. 이런 종류의 데이터 액세스를 제공합니다.

우리는 개발한 지 몇 달밖에 되지 않았지만 이미 안정적인 웹 플랫폼을 보유하고 있으며 데이터베이스를 빠르게 확장하고 단순함을 유지하려는 욕구를 갖고 있습니다.

이것이 당신이나 미래의 독자에게 어떤 식으로든 도움이 되기를 바랍니다.

업데이트됨

우리의 API가 이제 활성화되었습니다 - https://blinked.in/api - 하루에 100통의 무료 통화가 제공되며, 새로운 바코드를 발견하는 데 도움을 주시면 크레딧을 받으실 수 있습니다. https://blinked.in/bandwidthaccount

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top