山下泰平の趣味の方法

これは趣味について考えるブログです

Android スマホで kindairb を動かして国立国会図書館デジタルコレクションを活用する

スマホで kindairb を

kindairb とは国立国会図書館デジタルコレクションから画像をダウンロードするための ruby パッケージ?ライブラリ?である。

github.com

ちなみに今では国立国会図書館デジタルコレクションでは、全コマダウンロード機能が提供されている。だからカジュアルに、書籍をPDF形式でダウンロードすることが可能になっている。

国立国会図書館デジタルコレクション - ヘルプ

大昔はこういうことが出来なくて、みんなが一所懸命に国会図書館デジタルコレクションをダウンロードしようと頑張っていた。普通に PDF でダウンロードできるようになって良かったと思う。

しかしながらデータを加工したかったり、圧縮されていない元画像をゲットしておきたい人は kindairb を利用している。 kindairb は最高なんだけど弱点もあって、基本的にパソコンで使うものなので、これまではスマホしか持っていない人は利用できなかった。ところが最近 Android スマートフォンで kindairb を簡単に利用することができる環境が登場した。

f:id:cocolog-nifty:20181020200021p:plain

スマホさえあれば誰でも国会図書館デジタルコレクションから元データをゲットできる時代に突入している。スマホで kindairb を動作させて、国立国会図書館デジタルコレクションを活用する人が増えれば増えるほど、日本文化の未来も明るくなるというわけで Android スマートフォンで kindairb を利用する方法を書いていくことにする。

具体的な方法

まず Termux をインストールする

play.google.com

Termux は android で動く Linux やら Mac のターミナルみたいなソフトで、色々なことができる。似たようなソフトはこれまでもあったんだけど kindairb を動かすのが難しかった。頑張ればイケそうだったけど私は能力的に無理であった。ところが Termux だと誰でも簡単に kindairb を動かすことができる。 termux はよく分からないけど、ものすごく上手に動いていて最高さがある。

ただし少しだけ難しいところもある。kindairb は rmagick っていうのを使っていて、rmagick を使用するためには imagemagick の 7 ではなくて 6 をインストールしないといけないんだけど、Termux のパッケージに imagemagick の 6 がない。頑張ればimagemagick6 を Termux で使えるようにできそうなんだけど、私にとってはかなりムズい(詳しい人なら簡単)なので TermuxArch をインストールする。

github.com

TermuxArch は Termux の上で Arch Linux を動かすためのもので、よく分からないけど本物っぽい風格があって最高だと思う。で、どういう手順か説明すると、まず termux を Play ストアからインストールして、次のようにコマンドを打ては kindairb が動くようになる。

Termux に TermuxArch をインストールする。

Termux-setup-storage
apt update
apt upgrade
apt install termux-api wget 
wget https://sdrausty.github.io/TermuxArch/setupTermuxArch.sh
bash setupTermuxArch.sh

TermuxArch で kindairb が動作できるようにする。

./arch/startarch
pacman -Syu
pacman -S libxml2 libxslt make pkg-config gcc ruby imagemagick6 
echo PATH="$PATH:$(ruby -e 'print Gem.user_dir')/bin" >> /data/data/com.termux/files/home/arch/root/.bashrc
echo export GEM_HOME=$HOME/.gem >> /data/data/com.termux/files/home/arch/root/.bashrc
gem install nokogiri
gem install kindai

なるべく上手くいく順番にしてあるけど、失敗するかもしれない。そういう時は同じコマンド何回か実行したらなんか知らんけど成功したりする。それでも駄目な時はエラーメッセージみたいなのが出てくるので適当に対処する。スマホで一々入力するのは面倒くさいんで、パソコンでシェルスクリプトを書いたり ssh でログインしたたほうが良い。パソコンを持っていない人は、丁寧に一文字ずつ入力するしかない。iPhone を使っている人は kindairb が使えないという問題が発生するが、ヤフオクで売っ払って android スマホを購入したら良いと思う。ただしみんなが kindairb を使いたいばっかりに android のシェア向上し続けると Apple も焦ってOSに kindairb を組み込んだりする可能性もあるから、それまで iPhone を温存するっていう戦略もありであろう。

この環境は実に役立つもので、気が向いた時に歩行しながら国会図書館データベースから書籍をダウンロードすることができる。また国会図書館デジタルコレクションは IP でダウンロードに制限をかけてるんだけど、出来る限り速く圧縮されていない何冊かの書籍の元画像をダウンロードしたいっていう場合なら、スマホやパソコンを使い並行してダウンロードできようになり最高であり、古いスマホの活用方法としてもマジお勧めである。

上記の作業だとダウンロードできるようになるだけだけど、もう少し作業すると android でダウンロードしたものとパソコンでダウンロードしたものを、クラウドストレージ経由で自然に同じ感じにするようなことも可能になる。しかし同じデータを何度も転がすのは不気味な雰囲気もあって、転送量なんかも考えると kindairb 専用の小型サーバとか作ったり、クラウドサーバみたいなのを使ったほうが効率が良いような気もしないでもない。

それでもスマホの上にパソコンと同じような環境を作ることが出来るっていうのは高揚感があり、android の上で動作している kindairb の姿は美しく目出度たくて最高であり実に喜ばしい。こういう環境を作るのは面倒くさいんだけど、プログラムを作るほうが1000倍くらい難しくて大変だと思う。そういうことをしてくれる人がいるおかげで、子供も大人もみんな愉快に生活できるわけでとにかく感謝しかない今日もサンキュー!!!