読者です 読者をやめる 読者になる 読者になる

紙ブグロはてな

新しいものについ飛びついてしまった後悔を綴ることになりそうな気がするけれどならないかもしれないブログ。

国会図書館デジタルコレクションをダウンロードしたい

国立国会図書館デジタルコレクションの書籍データで、ちょっと手元にダウンロードしたいなと思うものがあった(具体的に言うと国立国会図書館デジタルコレクション - 世界遊戯法大全*1この本。リバーシの記述について確認したついでに、いろいろとボードゲームの情報を確認したくなった)。で、できれば自動でダウンロードできないかなあと思ってネットを探してみたら、一応ダウンロードするツールを配布していたりもしたのだけれど、導入に開発環境のインストールが必要だったりして、面倒臭くなってしまった。
そこで、あまり考えずにサンプルコードとかのコピペでもそこそこ動くAppleScriptの力を借りて、適当にダウンロードツールを作ってみた。
近代デジタルコレクションダウンロード.app.zip - Google ドライブ
ダウンロードする部分は基本的に do shell script "curl ……に丸投げ、エラーチェックとかもきちんとしてないし、そもそもダラダラとon run*2の長いみっともないコードなんだけど、まあ自分で使うためのものだしテキトーに。という代物。そんなわけで、他の環境でちゃんと動くかどうかもよくわからない。
なお、保存する画像はデフォルトでは50%リサイズバージョンで保存するような形になっている。スクリプトエディタで開いて、property ZOOM_SIZEを1に設定すると、100%の大きなサイズで保存できる。また、国会図書館デジタルコレクションの仕様の関係で、1枚保存するごとに30秒のインターバルが設定されている。このインターバル設定を小さくすると、エラーになってしまうのでご注意を。

いやあそれにしても、久しぶりにAppleScriptを触ったけど、もうすっかり忘れちゃってて、「あれ、ループ文のcontinueってどうするんだっけ*3」とか、もうググりながらググりながら書いた。だからあちこち危なっかしい。短いコードなのに、何の数字だかわからないようなマジックナンバーがあちこちに……。



追記/1点バグに気づいたので、一応対応して差し替え(ver1.1)。ついでに、永続的識別子を記録するように若干変更した。(2017-02-01)

*1:どうでもいいがことえりは「←」この左向き矢印だけ妙に優先順位が低い気がするんだが。絵文字よりもずっと下に出る事がちょくちょくある。不思議。

*2:いわゆる一つの「main」に相当する部分。

*3:AppleScriptにはcontinueに相当する機能はない。brakeに相当する機能ならあるのだけれど……。