2012-12-02 4 views
9

의회 도서관은 ISBN에서 도서를 검색 할 수있는 사이트가 있습니다. 쉽게 분석 할 수있는 XML 구조를 반환ISBN에서 의회 도서관에서 XML/JSON으로 도서 정보를 검색하는 방법

http://lccn.loc.gov/2009019559/mods 

: 책의 정보를 PIN이하는 간단한 방법은 같은 URL을 사용하고 있습니다. URL에 다음 형식의 고유 한 LCCN 번호가 필요합니다.

http://lccn.loc.gov/[lccn]/mods 

ISBN이 바코드로 인코딩 된 책이 있습니다. 도서의 XML 데이터를 검색하기 위해 ISBN을 LCCN으로 검색/변환하려면 어떻게해야합니까?

+0

LCCN 번호로 조회해야합니까? ISBN 번호가 있으면이 번호로 조회 할 수있는 사이트/API가 있습니다. http://webhole.net/2009/08/25/get-book-info-from-isbn/ – BIOSTALL

+0

을 참조하십시오. 전에 isbndb를 시도했지만, 내 경우에는 loc만큼이나 완벽하지는 않습니다. 나는 여전히 loc 카탈로그에서 데이터를 검색하는 것을 선호한다. –

답변

1

당신은 예를 들어, Google 도서 API를 사용할 수 있습니다 : https://www.googleapis.com/books/v1/volumes?q=LCCN2001051058

대답 JSON 형식입니다. 여기에는 ISBN-10 및 ISBN-13 식별자가 모두 포함됩니다.

| parser lccnCollection | 
parser := PPParserResource current parserAt: PPJsonParser. 
lccnCollection := #('2001051058' '2001051058'). 
lccnCollection do: [: lccnNumber | 
    | json jsonObject | 
    json := (Url absoluteFromText: 'https://www.googleapis.com/books/v1/volumes?q=LCCN' , lccnNumber) retrieveContents contents. 
    jsonObject := parser parse: json. 
    " ... retrieve ISSN from jsonObject, etc ... "]. 

는 구글에 배치 요청을 할 수있는 API 키가 필요합니다주의 : 당신은 것입니다 지원 배치에 HTTPS와 PetitJson 파서와 아연과 Pharo 스몰 토크에서 좋아하는 프로그래밍 언어를 사용하여 요청을해야합니다.

+0

감사. 아마 나는 그 질문에서 나 자신을 분명히하지 않았다. 나는 ISBN을 매개 변수로 전달할 수있는 LOC의 mods URL과 같은 직접 솔루션을 찾고 있습니다. 시행 착오 끝에 LOC에서 z3950 웹 서비스를 사용하는 솔루션이 있다고 생각합니다. –

+2

@ ChauCheeYang, 잠깐 있으면 http 요청이나이 작업에 사용한 방법을 자세히 설명하는 문서에 대한 링크를 게시 할 수 있습니까? 나는 너와 같은 보트에있어. – duhaime

4

의회 도서관에서 SRU 카탈로그를 사용할 수 있습니다. 쿼리가 같은 것을 보일 것이다 :

lx2.loc.gov:210/lcdb?version=1.1 & 작업을 = searchRetrieve & 쿼리 = bath.isbn = [ISBN] & maximumRecords = 1 & recordSchema = 개조

[ISBN]을 보려는 ISBN으로 바꿉니다.

그 응답에는 LCCN 요소가 있습니다. 그러나 카탈로그는 이미 MODS를 반환하므로 아무것도 수행하지 않아도됩니다.

+0

많은 ISBN에서는 작동하지 않는 것 같아. – Geremia

+0

@ Geremia ISBN 13에서는 작동하지만 10에서는 작동하지 않을 수 있습니까? – Menasheh

+0

@Menasheh 예, 아마도 – Geremia