みやざダニエルズのIT備忘録
← Blogs 一覧に戻る

OpenBDに登録されているISBNの数の調査をしてみた

OpenBD coverage

はじめに

「書誌情報・書影を自由に」と謳ってくれているopenBD様のAPIを使って、2022/10/31ハロウィン現在のISBNの登録数を調べてみました。

前提

wikipediaのISBNのページなどを見てISBNについて学びました。書籍のISBN13の形式は、978-グループ記号-出版社記号-書名記号-チェックディジットで成り立っているようです。

確認方法

シェルスクリプトで愚直に各出版社のISBNの数を見ました。

収録範囲を取得できるAPIを使うと、約26MBのファイルがダウンロードされました。

$ curl -O https://api.openbd.jp/v1/coverage

coverageは["isbn™,"isbn",・・]の形式だったので、1つのisbnが1行になるように整形しました。

$ sed -e 's/\[//g' coverage > coverage_tmp_1.txt
$ sed -e 's/\]//g' coverage_tmp_1.txt > coverage_tmp_2.txt
$ sed -e 's/"//g' coverage_tmp_2.txt > coverage_tmp_3.txt
$ sed -e 's/,/\n/g' coverage_tmp_3.txt > isbn.txt
$ wc -l isbn.txt
 1629995 isbn.txt

約163万件のISBN数があるようです。

グループ記号「4」が日本なので、先頭から9784のISBNに絞ってみます。

$ grep "^9784" isbn.txt > isbn_ja.txt
$ wc -l isbn_ja.txt
 1415348 isbn_ja.txt

約142万件になりました。

同じ要領で、出版社コードが00から10ごとにデータを絞ってみると以下のようになりました。

$ grep "^978400" isbn.txt > isbn_iwanami.txt
$ wc -l isbn_iwanami.txt
   24357 isbn_iwanami.txt
$ grep "^978401" isbn.txt > isbn_oubunsha.txt
$ wc -l isbn_oubunsha.txt
    2714 isbn_oubunsha.txt
$ grep "^978402" isbn.txt > isbn_asahishinbun.txt
$ wc -l isbn_asahishinbun.txt
    9230 isbn_asahishinbun.txt
$ grep "^978403" isbn.txt > isbn_kaisei.txt
$ wc -l isbn_kaisei.txt
     254 isbn_kaisei.txt
$ grep "^978404" isbn.txt > isbn_kadokawa.txt
$ wc -l isbn_kadokawa.txt
   67579 isbn_kadokawa.txt
$ grep "^978406" isbn.txt > isbn_koudansha.txt
$ wc -l isbn_koudansha.txt
   79201 isbn_koudansha.txt
$ grep "^978408" isbn.txt > isbn_shueisha.txt
$ wc -l isbn_shueisha.txt
   36414 isbn_shueisha.txt
$ grep "^978409" isbn.txt > isbn_shougakukan.txt
$ wc -l isbn_shougakukan.txt
   48827 isbn_shougakukan.txt
$ grep "^978410" isbn.txt > isbn_shinchousha.txt
$ wc -l isbn_shinchousha.txt
   15260 isbn_shinchousha.txt

1位が講談社さんで約7.9万件、2位がKADOKAWAさんが約6.8万件でした。

なるほど、、?

よし、講談社さんで何か本を買ってみるとするか、と思いました。

関連記事

AstroにGoogleアナリティクス4を導入する

Googleアナリティクス4の導入(再)

動かなくなったので再度AstroにGoogleアナリティクス4を入れてみました。

日向美術館とVuetify

【Vuetify】v-cardの中にv-cardを入れたときに意図したmarginにならなかったのでdivでレイアウト調整した話

v-cardの中にv-cardを入れたらmarginがはみ出てる?暫定的にdivで調整しました..

日向美術館とmicroCMS

【microCMS】日向美術館で使用しているAPIスキーマ設定方法

日向美術館で作成したmicroCMSのAPIスキーマの設定方法と設定した内容をご紹介します。

microCMSとVue.jsで子供の作品を展示する

microCMSとVue.jsで子供の作品を展示する

子供の作品を箱にしまい込むだけにせずにウェブに載せてみました。Headless CMSであるmicroCMSを使ってみたら使いやすかったです。

Webで縦書きコンテンツ〜Safariには気を付けろ!〜に助けられた話

Webで縦書きコンテンツ〜Safariには気を付けろ!〜に助けられた話

縦書き文字をflexboxを使って並べたときのレイアウト崩れが直りました。

Lighthouseのユーザー補助を100点にする

Lighthouseのユーザー補助を100点にしたい

Lighthouseのユーザー補助を100点にするためにコントラストの警告を解消しました

世界の片隅で愛を叫ぶLINE Bot

世界の片隅で愛を叫ぶLINE Bot

AWS Lambda、API Gatewayを使ってLINE Botで愛を伝えてみました

Google Apps Scriptで勤怠管理システム風なものを作る

Google Apps Scriptで勤怠管理システム風なものを作る

Google Apps Scriptで勤怠管理システム風なものを作ってみました。

canvaでアイキャッチ画像を作る

canvaでアイキャッチ画像を作る

canvaを使ってアイキャッチ画像を作ることができます。

AstroにGoogleアナリティクス4を導入する

Googleアナリティクス4の導入

AstroにGoogleアナリティクス4を入れてみました。

Astroでブログを作る

VuePressからAstroにブログを変えてみた

VuePressからAstroにブログを移管してみました。

miyazadanielsの似顔絵

似顔絵メーカーさんで似顔絵を作ってみた

似顔絵メーカーさんで似顔絵を作ってみました。簡単な操作でできるのでおすすめ。