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


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

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

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

  1. まず、curlを使うので、portでインストール。
    sudo port install curl
  2. 対象のブログサービス(この場合はココログの、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'

    の部分を書き換えれば使える、気がする。

  3. sh1というファイルが同じディレクトリに作成される。開いてみると、
    curl --create-dirs -o http:// ...

    という文字列から始まるものが出来ているはず。

  4. あとは
    chmod +x sh1
    ./sh1

    とすると、sh1が実行されて、同じディレクトリに対象の画像ファイルがダウンロードされる。
    画像のファイル数によってはけっこう時間がかかります。

  5. ダウンロードが終わったら、移行先のブログの任意のフォルダにアップロード。
  6. エクスポートファイル(上の例ではexport_file.txt)の中の画像ファイルのパス(画像にリンクがある場合はリンク先も)を変更して、移行先のブログにインポート。で完了。

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


この記事を書いた人