2012-12-02 14 views
9

議会図書館にはISBNで書籍を検索するサイトがあります。書籍の情報を取得する簡単な方法は、次のようなURLを使用しています。ISBNによるXML/JSONの書籍情報の検索方法

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

ここで、簡単に解析できるXML構造が返されます。私はISBNバーコードでエンコードされた図書のバッチを持って

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

:URLは次の形式でユニークなLCCN番号が必要です。書籍の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 ... "]. 

は、Googleへのバッチ要求を行うためのAPIキーが必要な場合があります注意してください:あなたは、それは次のようになりサポートバッチにHTTPSでPetitJsonパーサーと亜鉛とのファーロのSmalltalkでお気に入りのプログラミング言語を使用して要求を、持っています。

+0

ありがとうございます。おそらく、私は自分自身をこの問題ではっきりさせなかったでしょう。私はパラメータとしてISBNを渡すことを可能にするLOCの改造URLのような直接的な解決策を探しています。試行錯誤の末、LOCのz3950 Webサービスを使用したソリューションがあると思います。 –

+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

関連する問題