国立国会図書館のAPI利用

web本棚など、書誌情報の取得がすべての始まり。今年になって、書誌情報の取得先を国立国会図書館にしたので今さらだけどメモ。
一意のISBNを投げて、本の「タイトル、著者、書影」情報を返してくれる、ネタ元としてはWEBではAmazonがよく使われている。アフィリエイトにも繋がるし、本に関してはほぼほぼ網羅してる。
ウチも最初はAmazonのAPIを利用してたんだけど、
「Amazon Product Advertising API利用制限」
ひらたく言うと「売上のないサイトやアカウントはAPIを利用できなくなる」
さらにひらたく言うと、わたしのアカウントは売り上げがないので利用できなくなった。
ウチみたいな辺境限界個人サイトでアマゾンのアフィリエイトの売上などあるわけもなく、2019年の規約変更以降、AmazonAPIの利用ができなくなった。
その後はしかたがないんで小判鮫。
つまり、アマゾンのデータを利用しているサイトをクロールして利用、というなんか足下が安定しない運用。サイトをクロールしてるだけなので、データ取得先サイトのHTMLの構造が変わったらデータ取得に失敗する。複数のサイトを対象にしてたので即対応が必要というわけじゃないけど、その度にスクリプトの修正が必要。
そこで、以前から検討していた「国立国会図書館」のAPI利用に切り替えた。
だけど、書影がないのはほんと残念。
本棚を眺める楽しみのひとつ、というか欠かせないのが表紙だもんなあ。
改めて見てみると、書影が揃ってるのに吃驚というか感謝しかない。
そうなれば、ウチとしては十分なので、本棚の書誌情報の取得先にAPIを利用させてもらうことにした。

↑取得した書誌データ
「タイトル・著者名・書影」
(メモは自分で入力するエリア)

↑ISBNを入力するだけ
(今のところ)特に何らかの条件、OAuthなどでの認証が必要でもなくリクエストを投げるだけでデータを返してくれる。
スティーヴン・キングの『シャイニング』の書誌情報。
https://ndlsearch.ndl.go.jp/api/opensearch?cnt=1&isbn=9784167705633
URLにisbnを入れてリクエストすればいいだけ。
書影は別のAPI、URLに「isbn(13桁).jpg」をリクエストする。
https://ndlsearch.ndl.go.jp/thumbnail/9784167705633.jpg
セキュリティ強化のため、今年6月からログイン方式が変更されるらしいけど、APIについては、シンプルなままでお願いしたいところだ。
ちなみに国会図書館のサイトには
『国立国会図書館デジタルコレクション』
というページも用意されていて、ここで電子書籍が閲覧できる。所蔵されている本、ほぼすべてじゃないかな。
ひとつ残念なのが、EPUB3電子書籍ではなくて、PDF=画像データになっているところぐらい。これは原本保存が原則だろうからしかたがない。
絶版になってる、サンリオSF文庫が読める、というだけで老害SFマニアにはヨダレだよね

めっちゃ充実してるし、本好き/読書好きのひとにはたまらないんじゃないかな。

