蔵書一覧をどう作る?

 「蔵書一覧を作る」ということで、まずは何から始めるか?

 本について、どんな情報の管理が必要か?から決めることにする。とりあえず、タイトル、著者、出版社、出版日、分類、内容に関する情報、は基本的な情報としてほしい。できれば、本の表紙の画像とかあるといい。

 かと言って、それらの情報を全て手入力、というのは大変すぎる。こんな世の中だから、そんな情報はインターネット上にあるだろう。さらに、ネット上から欲しい情報を取ってくるプログラムを作れば楽ができるのだろう。最近は、こんなやり方のことをスクレイピングと言うらしい。

 インターネットから本の情報を取るためには、本に一意についているISBNコードを使う。ISBNコードは本の裏表紙にバーコードと活字で表示されている。また、本のバーコードといえば、一般に上下2つあって、上はISBNコード、下は分類や価格の情報などを表している。

 ここはひとつ、本についている2つのバーコードをピッピッと読み取って、上のISBNコードをもとに、ネットから、タイトル、著者、出版社、出版日、内容、表紙の画像を取得し、下のバーコードから、分類と価格を読み取るプログラムを作ることにしよう。といって、作ったものがこちら。

ネットから本の情報を取得するPythonプログラム

 高校の教科「情報」のプログラミング学習で使うことが推奨されている Python を使って組んでみました。高校生に教えるのに、ちょうどいい勉強になりました。

 一方、本の方ですが、どの本もバーコードがついているわけではありません。だいぶ古い本はがISBNコードさえありません。バーコードはなくても、ISBNコードが印字されている本もあります。したがって、(1)バーコードがあるものは、バーコードリーダーで読取り、(2)バーコードはないけど、ISBNコードがあるものは、コードを手入力、(3)ISBNコードさえないものは、タイトル、著者、出版社などなどを手入力することになります。

左:バーコードなしISBNあり、中央:バーコードあり、右:ISBNさえなし

 まずは、バーコードがあるものから登録を始め、次に、バーコードはないけどISBNコードはあるものを登録していきます。ISBNコードがないものは、これが終わってから考えます。