とてもありがたい国立国会図書館の近代デジタルライブラリー。
明治以降に刊行された図書・雑誌のうち、インターネットで閲覧可能なデジタル化資料を公開しています。
国立国会図書館デジタルコレクション
ただ、利用する際のWebインターフェイスがイマイチで使い勝手が良くない。
iPhoneから利用するのはどうするんだろう、だれかappでも作ってるんだろうか、と思って検索したところ、こういう記事が見つかった。
kindai.rbは近代デジタルライブラリーから書籍画像をダウンロードし、トリミングを行った上でiPhone/Kindle向けに整形する。
近代デジタルライブラリーからダウンロード、iPhone/Kindleで閲覧する·kindai.rb MOONGIFT
これだ。これをMacで使えるようにしよう。
- 動作環境
- Ruby が必要です.
- RMagickを使っているので,ImageMagick が必要です.
ということでImageMagickが必要らしい。
ImageMagickを入れる
管理者にてhomebrewでImageMagickを入れる。Install logはpastebin.comに貼り付けた。
mini:~ admin$ brew install -v imagemagick ==> Installing imagemagick dependency: libtool ==> Downloading http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz : (後略) [Bash] brew install -v imagemagick - Pastebin.com
RMagickを入れる
続いて、いつも使っている(管理者じゃない一般の)ユーザでRMagickを入れる。まずはrubygemsで検索してみる。
mini:~ hoge$ gem search rmagick --remote *** REMOTE GEMS *** compass-rmagick-engine (0.0.2) hornetseye-rmagick (1.0.2) jdeerhake-compass-rmagick-engine (0.0.4) rdp-rmagick (0.0.0) rmagick (2.13.2) rmagick-metadata (0.0.2) rmagick-sprite (0.0.8) rmagick4j (0.3.7, 0.3.4 java) rmagick_captcha (0.6.2)
ではインストール。
mini:~ hoge$ gem install rmagick Fetching: rmagick-2.13.2.gem (100%) Building native extensions. This could take a while... Successfully installed rmagick-2.13.2 1 gem installed Installing ri documentation for rmagick-2.13.2... Building YARD (yri) index for rmagick-2.13.2... [error]: Unhandled exception in YARD::Handlers::C::MixinHandler: [error]: in `ext/RMagick/rmmain.c`:611: 611: rb_include_module(Class_Pixel, observable); [error]: ArgumentError: NilClass is not a valid CodeObject [error]: Stack trace: /Users/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/yard-0.8.5.2/lib/yard/code_objects/base.rb:23:in `push' /Users/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/yard-0.8.5.2/lib/yard/handlers/c/mixin_handler.rb:10:in `block (2 levels) in <class:MixinHandler>' /Users/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/yard-0.8.5.2/lib/yard/handlers/c/mixin_handler.rb:7:in `scan' /Users/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/yard-0.8.5.2/lib/yard/handlers/c/mixin_handler.rb:7:in `block in <class:MixinHandler>' /Users/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/yard-0.8.5.2/lib/yard/handlers/processor.rb:114:in `block (2 levels) in process' /Users/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/yard-0.8.5.2/lib/yard/handlers/processor.rb:112:in `each' Installing RDoc documentation for rmagick-2.13.2...
riを入れるときにこないだもエラー出てたなぁ。無視します。
kindaiを入れる
mini:~ hoge$ gem install kindai Fetching: zipruby-0.3.6.gem (100%) Building native extensions. This could take a while... Fetching: kindai-2.3.0.gem (100%) Successfully installed zipruby-0.3.6 Successfully installed kindai-2.3.0 2 gems installed Installing ri documentation for zipruby-0.3.6... Building YARD (yri) index for zipruby-0.3.6... Installing ri documentation for kindai-2.3.0... Building YARD (yri) index for kindai-2.3.0... Installing RDoc documentation for zipruby-0.3.6... Installing RDoc documentation for kindai-2.3.0...
はいった。
現在のgemたち
mini:~ hoge$ gem list *** LOCAL GEMS *** bigdecimal (1.1.0) coderay (1.0.9) faraday (0.8.1) io-console (0.3) json (1.5.4) kindai (2.3.0) method_source (0.8.1) minitest (2.5.1) multi_json (1.3.6) multipart-post (1.1.5) nokogiri (1.5.5) pry (0.9.12) pry-doc (0.4.5) rake (0.9.2.2) rdoc (3.9.4) rmagick (2.13.2) simple_oauth (0.1.9) slop (3.4.4) sqlite3 (1.3.6) twitter (3.4.0) yard (0.8.5.2) zipruby (0.3.6)
kindai.rbを実行してみる
まずログアウトしないとkindai.rbを認識してくれなかったのでログアウト。
場所確認。
mini:~ hoge$ which kindai.rb /Users/hoge/.rbenv/shims/kindai.rb
ヘルプを出して確認する。
mini:~ hoge$ kindai.rb --help kindai.rb - the kindai digital library downloader download: by url: kindai.rb http://kindai.ndl.go.jp/info:ndljp/pid/922693 by keyword: kindai.rb 調理法 publish: auto: kindai.rb publish '~/Desktop/石川,一口;丸山,平次郎 - 講談幽霊の片袖' manual: kindai.rb publish --position 2850x2450+320+380 '~/Desktop/石川,一口;丸山,平次郎 - 講談幽霊の片袖' options: -o, --output OUTPUT_DIRECTORY specify output directory --debug enable debug mode --retry TIMES retry times (default is 30) --publish_iphone publish for iphone --publish_ipad publish for ipad --publish_kindle publish for kindle --no_trimming don't trimming
保存先ディレクトリは指定できるのだけど、面倒なので保存先へ移動してから実行してみる。ということで~/Picturesへ移動。
そして、突拍子もない題名で世間を騒がせた例の書籍wをダウンロードしてみる。
エロエロ草紙 - 国立国会図書館デジタルコレクション
時間が掛かるのは
画像をダウンロードする場合は30秒程度時間をあけるようにと書いてあったので,1枚ダウンロードするごとに30秒待つようにした.
近デジダウンローダー2.0 - hitode909の日記
だそうです。46画像あるので画像取得に23分ほどかかりますね。いや20秒で済ませてるようですw
ダウンロードログはこちら。
mini:~/Pictures hoge$ kindai.rb http://dl.ndl.go.jp/info:ndljp/pid/1137261 --publish_iphone I, [2013-04-24T01:48:11.509761 #7521] INFO -- : download エロエロ草紙(46 spreads) to /Users/common/Pictures/酒井, 潔, 1895-1952 - エロエロ草紙 I, [2013-04-24T01:48:11.524441 #7521] INFO -- : downloading 酒井, 潔, 1895-1952 - エロエロ草紙 - spread 1 / 46 I, [2013-04-24T01:48:34.408287 #7521] INFO -- : downloading 酒井, 潔, 1895-1952 - エロエロ草紙 - spread 2 / 46 (後略) [Bash] kindai.rb http://dl.ndl.go.jp/info:ndljp/pid/1137261 --publi - Pastebin.com
手順としては
となるようですね。
コマンド
使い方
起動時の引数に,ダウンロードしたい本の URL を指定します.スペース区切りで複数指定できます.
kindai.rb http://kindai.ndl.go.jp/info:ndljp/pid/922693URL の代わりに検索ワードを指定すると,ヒットした本をまとめてダウンロードします.AND検索もできます.
kindai.rb 調理 kindai.rb "松茸 調理"–output オプションで,保存先を指定できます.指定したディレクトリの下に,書名のディレクトリができます.
kindai.rb http://kindai.ndl.go.jp/info:ndljp/pid/922693 --output ~/Documents/本の加工(自動)
ダウンロードした本は自動的にトリミングされ,trim/ディレクトリに格納されます.トリミング情報は自動的に共有され,次に同じ本をダウンロードしたときや,他のひとが同じ本をダウンロードしたときに再利用されます.
起動時の引数で,ダウンロードした本を iPhone 用と Kindle 用に加工することができます.
–publish_iphone オプションで,iPhone用のファイルを作ります.
–publish_kindle オプションで,Kindle用のファイルを作ります.–no_trimmingオプションが指定されたときは,ダウンロードだけを行い,トリミングや加工を行いません.
GitHub - hitode909/kindairb: 近代デジタルライブラリーダウンローダ