2008-09-20 36 views
69

Tôi đang xây dựng ứng dụng thư viện đơn giản nhất thế giới. Tất cả những gì tôi muốn làm là quét mã UPC (mã vạch) của một cuốn sách bằng cách sử dụng một máy quét điển hình (chỉ cần nhập số mã vạch vào một trường) và sau đó sử dụng nó để tra cứu dữ liệu về cuốn sách ... tối thiểu, tiêu đề, tác giả, năm xuất bản và số danh mục Dewey Decimal hoặc Library of Congress.Làm cách nào để tra cứu dữ liệu về một cuốn sách từ mã số của nó?

Mục tiêu là in ra một nhãn dán nhỏ ("nhãn cột sống") với số danh mục thẻ mà tôi có thể dán trên cột sống của sách, và sau đó tôi có thể sắp xếp sách theo số danh mục thẻ trên giá trong thư viện công ty của chúng tôi. Bằng cách đó, sách về các chủ đề tương tự sẽ có xu hướng gần nhau, ví dụ, nếu bạn biết bạn đang tìm kiếm một cuốn sách về kế toán, tất cả những gì bạn phải làm là tìm một số cuốn sách về kế toán và bạn sẽ thấy một nửa tá khác rằng chúng tôi có ngay bên cạnh nó mà làm cho nó thuận tiện để duyệt thư viện.

Dường như có nhiều API web để thực hiện việc này, bao gồm Amazon và Thư viện Quốc hội. Nhưng tất cả những điều đó cực kỳ khó hiểu với tôi. Những gì tôi thực sự chỉ muốn là một hàm cấp cao hơn duy nhất có số mã vạch UPC và trả về một số dữ liệu cơ bản về cuốn sách.

Trả lời

60

Có một giải pháp dựa trên web rất đơn giản tại ISBNDB.com mà bạn có thể muốn xem xét.

Edit: Cập nhật liên kết tài liệu API, bây giờ có phiên bản 2 có sẵn cũng

http://isbndb.com/api/v1/docs

http://isbndb.com/api/v2/docs

Bạn có thể lên và chạy chỉ trong vài phút (những ví dụ là từ API v1):

  • đăng ký trên trang web và nhận khóa để sử dụng t ông API
  • thử một URL như:

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

Kết quả = chi tiết được thêm chi tiết bao gồm số danh mục thẻ.

Như một sang một bên, thường mã vạch là isbn trong isbn10 hoặc isbn13. Bạn chỉ cần xóa 5 số cuối nếu bạn đang sử dụng máy quét và bạn nhận được 18 số.

Dưới đây là một phản ứng mẫu:

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

Chỉnh sửa Sẽ khá dễ dàng nếu bạn có ISBN. nhưng chuyển đổi từ UPC sang ISBN không dễ như bạn muốn.

Dưới đây là một số mã javascript cho nó từ http://isbn.nu nơi nó được thực hiện trong kịch bản

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

Tuy nhiên, đó chỉ chuyển đổi từ UPC để ISBN một số thời gian.

Bạn có thể muốn xem barcode scanning project page, cuộc hành trình quá của một người để quét sách.

Vì vậy, bạn biết về Amazon Web Services. Nhưng điều đó giả định amazon có cuốn sách và đã quét trong UPC.

Bạn cũng có thể thử các UPCdatabase tại http://www.upcdatabase.com/item/ {UPC}, nhưng điều này cũng không đầy đủ - ít nhất là nó đang phát triển ..

Thư viện của cơ sở dữ liệu Đại hội cũng là không đầy đủ với UPCs cho đến nay (mặc dù nó khá toàn diện) và khó tự động hơn.

Hiện nay, nó có vẻ như bạn phải viết những dòng này cho mình để có một tra cứu cấp cao mà trả về thông tin đơn giản (và cố gắng mỗi dịch vụ)

+2

Những gì tôi đã hy vọng là nếu ai đó đã có mã đã làm điều này, vì vậy tôi không phải đọc 8000 trang tài liệu AWS. Tất cả các ứng dụng thư viện nhỏ đã làm điều đó. Có một số cách để chuyển đổi UPC thành ISBN mà tôi cũng không hiểu. –

+1

Mã đó đang chuyển đổi isbn13 thành ISBN10. Nó không liên quan gì đến mã UPC. – stevenf

+0

@stevenf - không chính xác. UPC trên * hầu hết * sách là ISBN10 với số 978 hoặc 979 được thêm vào trước. trong UPC, 3 số đầu tiên mã quốc gia xuất xứ và 978-979 được gán cho "Bookland". Vì vậy, trong khi nó không thực sự làm bất cứ điều gì khác hơn là tước mã quốc gia và kiểm tra (nếu quét), nó không có gì để làm với mã UPC. –

2

vợ cán bộ thư viện của tôi sử dụng http://www.worldcat.org/, nhưng họ key off ISBN. Nếu bạn có thể quét nó, bạn vàng. Nhìn vào một vài cuốn sách, có vẻ như UPC giống hoặc liên quan đến ISBN.

Ồ, these guys có chức năng thực hiện chuyển đổi từ UPC sang ISBN.

3

Âm thanh như các loại công việc người ta có thể có được một công ty phần mềm nhỏ để làm cho bạn ...

Nghiêm trọng hơn, có những dịch vụ cung cấp một giao diện vào danh mục ISBN, www.literarymarketplace.com.

Trên worldcat.com, bạn có thể create a URL using the ISBN sẽ đưa bạn đến thẳng trang chi tiết sách. Trang đó không phải là rất hữu ích vì nó vẫn còn cào HTML để có được dữ liệu, nhưng họ có một liên kết để tải xuống dữ liệu sách theo một vài định dạng "chuẩn".

Ví dụ: sách giới thiệu: http://www.worldcat.org/isbn/9780060817084 Có liên kết tải xuống định dạng "EndNote" http://www.worldcat.org/oclc/123348009?page=endnote&client=worldcat.org-detailed_record và bạn có thể thu thập dữ liệu từ tệp đó rất dễ dàng. Đó là liên kết từ số OCLC của riêng họ, không phải là ISBN, nhưng việc cạo để chuyển đổi không khó, và họ có thể có một giao diện tốt để làm điều đó.

1

Sử dụng trang web Library Thing, bạn có thể quét mã vạch của mình (toàn bộ mã vạch, không chỉ ISBN - nếu bạn đang quét "nêm" bạn đang may mắn) và xây dựng thư viện của mình. (Đây là một mạng xã hội tuyệt vời - hãy nghĩ StackOverflow dành cho những người đam mê sách.)

Sau đó, sử dụng phần TOOLS, bạn có thể xuất thư viện của mình. Bây giờ bạn có tệp văn bản cần nhập/phân tích cú pháp và có thể tạo nhãn, danh mục thẻ, v.v.

+0

Tôi đang quét sách khi đặt chúng trên giá, vì vậy tôi muốn in nhãn ngay sau khi quét sách. In nhãn sau đó sẽ là một nỗi đau khi tôi phải tìm ra nhãn nào đi đâu sau khi thực tế. Đó là lý do tại sao hầu như không có ứng dụng thư viện nào tôi tìm thấy phù hợp với tôi –

1

Tôi e ngại vấn đề là truy cập cơ sở dữ liệu. Các công ty trả tiền để có một UPC được giao và do đó cơ sở dữ liệu không phải là tự do truy cập. Các trang web UPCdatabase được đề cập bởi Philip là một sự khởi đầu, như là UPCData.info, nhưng chúng được người dùng nhập vào - có nghĩa là không đầy đủ và có thể không chính xác.

Bạn luôn có thể nhập UPC vào Google và nhận được lần truy cập, nhưng điều đó không thực sự tự động. Nhưng nó làm cho nó đúng trong hầu hết thời gian.

Tôi nghĩ rằng tôi nhớ Jon Udell đang làm một cái gì đó như thế này (ví dụ: see this), nhưng nó hoàn toàn dựa trên ISBN.

Có vẻ như bạn đã tìm thấy một dự án mới để người khác làm việc!

16

Lưu ý: Tôi là người dùng LibraryThing, vì vậy đây là phần tự quảng bá một phần.

Hãy xem this StackOverflow answer, bao gồm một số cách tốt để lấy dữ liệu cho một ISBN nhất định.

Đối với các vấn đề của bạn, Amazon bao gồm DDC đơn giản (Dewey); Google thì không. API WorldCat có, nhưng bạn cần phải là một thư viện OCLC để sử dụng nó.

Vấn đề về ISBN/UPC rất phức tạp. Ưu tiên ISBN, nếu bạn có thể tìm thấy chúng. Thị trường hàng loạt giấy tờ đôi khi thể thao UPC ở bên ngoài và một ISBN ở bên trong.

thành viên LibraryThing đã phát triển một vài trang về vấn đề này và về những nỗ lực để lập bản đồ hai:

Nếu bạn mua từ biên giới mã vạch của cuốn sách của bạn đều có gắn bó với mã vạch nội bộ của riêng mình (được gọi là "BINC"). Hầu hết các loại keo khó chịu mà chúng sử dụng sẽ khó khăn hơn và khó loại bỏ hơn theo thời gian. Tôi biết không có API nào chuyển đổi chúng. LibraryThing làm điều đó bằng cách màn hình.

Đối với API, tôi muốn đi với Amazon. LibraryThing là một tùy chọn không phải API tốt, giải quyết BINCs và thêm DDC và LCC cho các sách không có chúng bằng cách xem các phiên bản khác của "tác phẩm".

Phần bị thiếu là phần nhãn. Ai đó cần phải tạo một mẫu PDF tốt cho điều đó.

1

Nếu bạn muốn sử dụng Amazon, bạn có thể thực hiện dễ dàng với LINQ to Amazon.

0

Làm việc trong thế giới thư viện, chúng tôi chỉ đơn giản là kết nối với thẻ LMS trong mã vạch và hồi dữ liệu này có sẵn. Tôi tin rằng có một số nhà cung cấp LMS miễn phí - Google cho "lms nguồn mở".

Lưu ý: Đây có lẽ là việc tắt ISBN ...

-1

Không có gì giống như câu trả lời gần 5 năm sau khi thực tế, nhưng đây là vài đôi đồng xu sáng giá trị của tôi.

Tôi hiện đang xây dựng thứ gì đó có thể thực hiện công việc ... https://blinked.in - nhanh chóng trở thành cơ sở dữ liệu mã vạch UPC/EAN13 lớn nhất (chúng tôi đã thêm hơn 7 mã vạch trong tuần trước), trong khi chúng tôi vẫn đang trong giai đoạn phát triển alpha, chúng tôi đang giới thiệu một API chi phí thấp, rất đơn giản để cung cấp loại quyền truy cập dữ liệu này.

Chúng tôi chỉ ở trong một vài tháng, nhưng đã có nền tảng web ổn định, nhanh chóng mở rộng cơ sở dữ liệu và mong muốn giữ mọi thứ đơn giản.

Hy vọng điều này sẽ giúp bạn hoặc một số người đọc trong tương lai theo một cách nào đó.

Cập nhật

API của chúng tôi là hiện đang sống - https://blinked.in/api - và chúng tôi đã ném vào một 100 cuộc gọi miễn phí mỗi ngày, và bạn có thể kiếm được khoản tín dụng từ giúp chúng ta khám phá mã vạch mới - https://blinked.in/bandwidthaccount

+0

Trang web bị DOWN. – sjas

+1

Dịch vụ không tồn tại – esbenr

0

thế nào về outpan.com? 20 triệu sách, có thể truy cập được thông qua trang web và API, hoàn toàn miễn phí. Làm việc tốt nhất với ISBN-13

0

tôi thường xuyên khuyên bạn sử dụng Amazon Affiliate Product API (check it out đây https://affiliate-program.amazon.com), tuy nhiên có một vài lựa chọn khác cũng có sẵn.

Nếu bạn muốn đảm bảo tính chính xác của dữ liệu, bạn có thể sử dụng giải pháp trả phí. GS1 là tổ chức phát hành mã UPC, vì vậy thông tin của họ phải luôn chính xác (https://www.gs1us.org/tools/gs1-company-database-gepir).

Ngoài ra còn có một số cơ sở dữ liệu bên thứ ba có thông tin liên quan như https://www.upccodesearch.com/ hoặc https://www.upcdatabase.com/.

Các vấn đề liên quan