May 12, 2011
WebshotsのSWF埋め込み画像をダウンロードするためのスクリプト
ところで、webshotsのフォトアルバムで大量のgoodな画像を見つけて、まとめてPCに保存したいと思ったけど、wgetやIrvineといった一括ダウンロードツールでは元画像が取れず、ブラウザのリンク抽出ツールでも元画像へのリンクが取れなかった経験はないだろうか。
どうしても収集したい一途な人や熱意のある人は、ブラウザで1つ1つoriginal sizeで表示してブラウザのキャッシュを漁るなり、HTTPのログを収集してリンクを抽出したりして無事に収集できてるとは思う
が、マウス操作が苦手な筆者のような人には、その作業をする気は起きないこともあると思
う。
という訳で(もないが)、wgetを使って一括ダウンロードするためのPerlスクリプトを作ったことがある。
以下、UNIXを使うと仮定する。WindowsでもCygWinやActivePerlなどを使えば同じようにできるだろうが、筆者は詳しくない。
#!/usr/bin/perl使い方は、上のスクリプトをgetph_webshots.plとかの名前で保存して実行可能にしておき、
while(<>){
if (m#http://thumb\d+.webshots.net/t/(\d+)/([0-9A-z/]+)_th.jpg#){
print "wget -nc http://image$1.webshots.com/$2_ph.jpg\n";
}
}
wget -r -np http://entertainment.webshots.com/album/*********??????
などとしてHTMLを保存し、
./getph_webshots.pl entertainment.webshots.com/album/*
などとすると、元画像をwgetするシェルコマンドが出力されるので、これをファイルに保存して、シェルスクリプトとして実行するか、もしくはシェルのsourceコマンドで読み込む。
…というのを、いつかwgetも自動的に起動するようにして、webshotsの話題が出ていた「したらば」の掲示板に書き込もうかと思ったが、エラーが起こった時の回復処理が面倒だし、そもそも誰もPerlなんか使わなさそうだし、今度こそ話題のアルバムが非公開にされてしまうかも知れないので、やめた。