ブログサービスからの画像データの引っこ抜き方法を探していたら
ロボットのいる生活。: Mac/ブログ移行の際、画像データを確実にダウンロードするには。
という素敵な方法を見つけたのでやり方メモ。
- まず、curlを使うので、portでインストール。
sudo port install curl
- 対象のブログサービス(この場合はココログの、http://USERID.cocolog-nifty.com/blog/を対象にしてあります)からエクスポートしてきたファイルを置いているディレクトリで以下を実行。
sed 's/[><)(;=&\"]/ /g' export_file.txt | awk -v s=http: '{for(i=1;i<=NF;++i) if ($i~s)print "curl --create-dirs -o " $i " -O " $i}' | sort | uniq | egrep 'USERID.coco' | egrep 'jpg|png|gif' | sed 's/.shared\/image.html?\///g' > sh1
ほかのサービスの場合は
egrep 'USERID.coco'
の部分と、
sed 's/.shared\/image.html?\///g'
の部分を書き換えれば使える、気がする。
- sh1というファイルが同じディレクトリに作成される。開いてみると、
curl --create-dirs -o http:// ...
という文字列から始まるものが出来ているはず。
- あとは
chmod +x sh1 ./sh1
とすると、sh1が実行されて、同じディレクトリに対象の画像ファイルがダウンロードされる。
画像のファイル数によってはけっこう時間がかかります。 - ダウンロードが終わったら、移行先のブログの任意のフォルダにアップロード。
- エクスポートファイル(上の例ではexport_file.txt)の中の画像ファイルのパス(画像にリンクがある場合はリンク先も)を変更して、移行先のブログにインポート。で完了。
ブログのお引越しはたいてい、画像ファイルのエクスポートがメンドクサイのでこれは今後も活躍しそうな方法です。ありがたい。