自分好みの画像がたくさん掲載された Tumblr を見つけたとき、みなさんはどうしているだろうか。
とりあえずフォロー、さらに RSS リーダーで購読、今後新しい画像が登場したらすかさずリブログ、中には Automatic Ruby で画像をまとめてダウンロードしている人もいるかもしれない。
しかし、このような方法では今後登場する新しい画像は入手できるものの、すでにリブログされた過去の画像をまとめて入手したり閲覧したりすることはできない。
そこで新しく Subscription::Tumblr プラグインを作った。これは Tumblr の過去のページまで遡ってスクレイピングすることができる。レシピはこんな感じになるだろう。
- module: SubscriptionTumblr
config:
urls:
- http://someone.tumblr.com
pages: 50 # ページ数を指定
- module: FilterImage
- module: StorePermalink
config:
db: tumblr.db
- module: StoreTargetLink
config:
path: /Users/yourname/Desktop/tumblr
interval: 5
上記の場合、これで過去 50 ページまで遡って画像をダウンロードする。もちろん 100 や 1000 ページを指定しても OK だ。ただこのように大きな数値を指定するのは、自動よりは手動で一括ダウンロードするのに向いているだろう。
自動で単純に Tumblr をスクレイピングするだけでは、まとめて大量にリブログされた場合に一定件数以上のものは流れてしまい拾えないことがある。更新件数の多い Tumblr の画像を抜け漏れなく入手するには、このプラグインで pages を 2 ~ 5 など適切な値に指定しておくと良い。これで一度にたくさん画像が流れてきても逃さず入手できるようになる。
このプラグインを正式版に含めて Automatic Ruby v12.10 をリリースした。 Ruby を使っている人は以下のコマンドで簡単にインストールできるので試してみると良いだろう。
今回のリリースは基本的にプラグインの追加のみで、既存機能の変更やバグ修正はおこなっていない。使い方の詳細は日本語ドキュメントを読んでほしい。