ブログの画像データの移行方法


ブログサービスからの画像データの引っこ抜き方法を探していたら

ロボットのいる生活。: Mac/ブログ移行の際、画像データを確実にダウンロードするには。

という素敵な方法を見つけたのでやり方メモ。

  1. まず、curlを使うので、portでインストール。
    [bash]sudo port install curl[/bash]
  2. 対象のブログサービス(この場合はココログの、http://USERID.cocolog-nifty.com/blog/を対象にしてあります)からエクスポートしてきたファイルを置いているディレクトリで以下を実行。
    [bash]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[/bash]
    ほかのサービスの場合は
    [bash]egrep ‘USERID.coco'[/bash]
    の部分と、
    [bash]sed ‘s/.shared\/image.html?\///g'[/bash]
    の部分を書き換えれば使える、気がする。
  3. sh1というファイルが同じディレクトリに作成される。開いてみると、
    [bash]curl –create-dirs -o http:// …[/bash]
    という文字列から始まるものが出来ているはず。
  4. あとは
    [bash]chmod +x sh1
    ./sh1[/bash]
    とすると、sh1が実行されて、同じディレクトリに対象の画像ファイルがダウンロードされる。
    画像のファイル数によってはけっこう時間がかかります。
  5. ダウンロードが終わったら、移行先のブログの任意のフォルダにアップロード。
  6. エクスポートファイル(上の例ではexport_file.txt)の中の画像ファイルのパス(画像にリンクがある場合はリンク先も)を変更して、移行先のブログにインポート。で完了。

ブログのお引越しはたいてい、画像ファイルのエクスポートがメンドクサイのでこれは今後も活躍しそうな方法です。ありがたい。