国会图书馆有一个按ISBN搜索图书的网站.检索书籍信息的简单方法是使用以下URL:
http://lccn.loc.gov/2009019559/mods
Run Code Online (Sandbox Code Playgroud)
它返回一个可以轻松解析的XML结构.URL需要以下列格式的唯一LCCN编号:
http://lccn.loc.gov/[lccn]/mods
Run Code Online (Sandbox Code Playgroud)
我有一批书以条形码编码的书.我如何检索/转换ISBN到LCCN以检索图书的XML数据?
小智 5
您可以使用美国国会图书馆的 SRU 目录。查询看起来像这样:
lx2.loc.gov:210/lcdb?version=1.1&operation=searchRetrieve&query=bath.isbn=[ISBN]&maximumRecords=1&recordSchema=mods
将 [ISBN] 替换为您要查找的 ISBN
该响应中有一个 LCCN 元素。但是,目录已经返回 MODS,因此可能根本不需要执行任何操作。
您可以使用 Google Books API,例如:https://www.googleapis.com/books/v1/volumes ?q=LCCN2001051058
答案是 JSON 格式。它包括 ISBN-10 和 ISBN-13 标识符。您必须使用您最喜欢的编程语言对请求进行批处理,在具有 PetitJson 解析器的 Pharo Smalltalk 和具有 HTTPS 支持的 Zinc 中,它将是:
| 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 ... "].
Run Code Online (Sandbox Code Playgroud)
请注意,您可能需要 API 密钥才能向 Google 发出批量请求。
| 归档时间: |
|
| 查看次数: |
9848 次 |
| 最近记录: |