みやざダニエルズのIT備忘録

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

By miyazaDaniels on Oct 31, 2022
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万件でした。

なるほど、、?

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

Recent Posts
日向美術館とVuetify

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

Nov 29, 2022
v-cardの中にv-cardを入れたらmarginがはみ出てる?暫定的にdivで調整しました..
日向美術館とmicroCMS

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

Nov 27, 2022
日向美術館で作成したmicroCMSのAPIスキーマの設定方法と設定した内容をご紹介します。
microCMSとVue.jsで子供の作品を展示する

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

Nov 25, 2022
子供の作品を箱にしまい込むだけにせずにウェブに載せてみました。Headless CMSであるmicroCMSを使ってみたら使いやすかったです。
Webで縦書きコンテンツ〜Safariには気を付けろ!〜に助けられた話

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

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

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

Oct 31, 2022
本の情報をオープンにしてくれているOpenBDのAPIを使ってISBNの登録数を見てみました
Lighthouseのユーザー補助を100点にする

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

Oct 25, 2022
Lighthouseのユーザー補助を100点にするためにコントラストの警告を解消しました
世界の片隅で愛を叫ぶLINE Bot

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

Oct 15, 2022
AWS Lambda、API Gatewayを使ってLINE Botで愛を伝えてみました
Google Apps Scriptで勤怠管理システム風なものを作る

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

Oct 14, 2022
Google Apps Scriptで勤怠管理システム風なものを作ってみました。
AstroにGoogleアナリティクス4を導入する

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

Oct 13, 2022
AstroにGoogleアナリティクス4を入れてみました。
© Copyright 2022 by みやざダニエルズのIT備忘録. Built with ♥ by CreativeDesignsGuru.