11

国会图书馆有一个网站可以按 ISBN 搜索书籍。检索图书信息的一种简单方法是使用如下 URL:

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

它返回一个可以轻松解析的 XML 结构。URL 需要一个唯一的 LCCN 编号,格式如下:

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

我有一批用条形码编码的 ISBN 书籍。我如何检索/转换 ISBN 为 LCCN 以检索图书的 XML 数据?

4

2 回答 2

4

您可以使用美国国会图书馆的 SRU 目录。查询看起来像这样:

lx2.loc.gov:210/lcdb?version=1.1&operation=searchRetrieve&query=bath.isbn=[ISBN]&maximumRecords=1&recordSchema=mods

将 [ISBN] 替换为您要查找的 ISBN

在该响应中是一个 LCCN 元素。但是,目录已经返回 MODS,因此可能根本不需要执行任何操作。

于 2015-01-10T15:42:40.283 回答
1

您可以使用 Google Books API,例如:https ://www.googleapis.com/books/v1/volumes?q=LCCN2001051058

答案是 JSON 格式。它包括 ISBN-10 和 ISBN-13 标识符。您将不得不使用您最喜欢的编程语言对请求进行批处理,在 Pharo Smalltalk 中使用 PetitJson 解析器和 Zinc 使用 HTTPS 支持,它将是:

| 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 密钥才能向 Google 发出批量请求。

于 2012-12-03T06:08:35.837 回答