こんにちは、kyan(@sumibi_kyan)です♪
本日は、kyanが2017年にwordpressへ引っ越しする際に使った、ナチュログのサーバに保存している画像ファイルを一括ダウンロードする方法をご紹介します!
イントロダクション
・ナチュログで溜まりに溜まった画像のバックアップを取りたい方
・ナチュログから他ブログへ引っ越ししたい方
ナチュログの標準機能では一括ダウンロードできない
WordPress移行にあたってネックのひとつは「画像を漏れなく移転させる方法」でした。
掲載記事で使用した画像を適宜ローカル(PC)に保存していましたが、8年間運用してると全て保管してるかは自信ありませんでした。またファイル数も多く(約4000)、さらには同名ファイルの場合にナチュログ側で自動的にリネームして登録されていたため、移転のタイミングで一括ダウンロードしてローカルのデータと同一版にしたいと考えました。
しかしナチュログでは、画像の一括アップロードは(裏技的に)できても、一括ダウンロード機能は実装されておらず、一つひとつ手作業でダウンロードするしかありませんでした。
とはいえ4000ものファイルを手動で行うのは、気が遠くなるしケアレスミスの元。
どうにかできないかと試行錯誤した結果、必要な画像のリストを作り、ソフトで一括ダウンロードする方法が最もうまくいったので、今回はその方法をご紹介します。
使うソフト
紹介するのはWindows版です。Mac版は…よいソフトがあれば教えてください😃
秀丸エディタ
Windowsではメジャーなソフトです。
正規表現が使え、かつ重複行削除ができるなら他のソフトでも問題ありません。
NorobusaDownloder
ダウンロードリストを読み込ませるタイプのダウンロードソフトであれば、他でもイケると思います。
ダウンロードリストを作成する
ログファイルを出力する
・ナチュログの管理画面にログインし、TOP画面左下にある[ブログの設定]-[読み込み・書き出し]を選択して、出力画面を表示します。
・以下の項目を確認して、[書き出し開始]ボタンを押します。
文字コード | EUC-JP |
書き出し対象年 | 移行分を範囲選択 |
書き出し対象カテゴリー | すべて |
・任意のファイル名で保存します。
ログファイルから画像URLのみを抜き出す
「リンクと画像の抜き出しツール」サイトより、ログファイルから画像リンクのみ抽出してくれる機能を提供しているので、ありがたく使わせてもらいます。
①出力したログファイルを上記ツールの「ソース(テキスト)」にペーストする ②「URL検索」ボックス内の「画像」ボタンを押す ③「整理」ボックス内の「並替」ボタンを押す ④URLリストが抽出されるので、「テキスト出力」ボックス内の「テキスト一覧」ボタンを押す ⑤「ソース(テキスト)」欄に画像ファイル一覧が出力されるので、コピーして適当なテキストファイルにペーストし保存する。 |
ファイルを修正してダウンロードリストを作成
移行が不要な画像リンクが含まれる行を除外する
前項で出力されたリストにはダウンロード不要なデータが含まれてるので、エディタの置換機能を使って除外します。
まず、ダウンロードしたい画像は以下のURLのファイルです。
http://img0*.naturum.ne.jp/usr/***/***.jpg
usr/***/***.jpg
※kyanの時代は上記2種類でしたが、現在は他にもまだあるかもしれません。
続いてダウンロード不要な画像ですが、これは各自のブログに貼り付けてる画像リンクによります。
kyanの場合、以下を除外しました。
・ナチュラムが提供する顔文字画像 ・各種アフィリエイトが提供する画像 |
・除外方法
以下は上述したエディタソフト「秀丸」にて操作します。
①[検索(S)]-[置換(R)]で条件ボックスを開く ②[正規表現(R)]のチェックボックスにチェックがついていることを確認する ③検索ボックスには下記行を、置換ボックスは空欄(削除のため)で、[全置換(A)]ボタンを押す <以後、下記リスト全ての置換を行う> |
・除外する条件(削除したいURL)の記述式
^.*<除外したい画像ファイルが保管されてるサーバ>.*\n
正規表現で「<除外したい画像ファイルが保管されてるサーバ>に保管されてる全ての画像ファイル名をリストから削除する」という意味を記述しています。
・正規表現の実例
kyanが実際に除外した対象を、同じように削除する正規表現は以下のとおりです。
・ブログ記事で使った顔文字画像を除外する
^.*http://blog.naturum.ne.jp/.*\n
・ナチュラムアフィリエイトの画像を除外する
^.*http://www.naturum.co.jp.*\n
・楽天アフィリエイトの画像を除外する(一例)
^.*https://hbb.afl.rakuten.co.jp.*\n
^.*http%3a%2f%2fthumbnail.image.rakuten.co.jp.*\n
^.*http%3a%2f%2fimage.rakuten.co.jp.*\n
・アマゾンアソシエイトの画像を除外する(一例)
^.*https://images-fe.ssl-images-amazon.com.*\n
^.*https://images-fe.ssl-images-amazon.com.*\n
相対パスにURLを付加する
昔の記事の中には、画像URLが一部省略されてる場合があります(相対パス)。
これではダウンロードできないため、相対パスは省略なしのURL(絶対パス)に変換する必要があります。
パス | 例 |
絶対パス | http://img0*.naturum.ne.jp/usr/***(ユーザ名)/***.jpg(ファイル名) |
相対パス | usr/***(ユーザ名)/***.jpg(ファイル名) |
kyanの場合、絶対パスで表記されてる画像ファイルから、画像は「img02」サーバに格納されていると思われたので、「http://img02.naturum.ne.jp/」の無い行の先頭に「http://img02.naturum.ne.jp/」を付与しました。
・付加方法
[検索(S)]-[置換(R)]で条件ボックスを開く [正規表現(R)]のチェックボックスにチェックがついていることを確認する |
検索ボックスに
^(?!.*http://)(.+)
置換ボックスに
http://img02.naturum.ne.jp/\1
をそれぞれ入力し、[全置換(A)]ボタンを押す
重複行を削除する
同一画像が複数の箇所や記事で使われてる場合、重複行が発生するので削除します。
秀丸エディタのマクロ機能を使い、公開されてる重複行削除マクロを実行します。
方法
①上記URLを開き、「erasesameline213.zip」をダウンロード
②ダウンロードしたファイルを任意のフォルダへ解凍
③秀丸エディタの[マクロ]-[マクロ実行(X)]-②で解凍したマクロファイルを選択
④[E 実行]を押す
完成したファイルに任意の名前をつけて保存する
これでダウンロードする画像ファイルのリストが完成しました!
NorobusaDownloderで画像をローカル環境に保存する
いくつかのダウンロードソフトを試した結果、「NorobusaDownloder」というフリーソフトが最も素直に動作したので、こちらを使用して説明します。
①「NorobusaDownloder」をインストールする
②任意のフォルダへ解凍し、「Norobusa Downloader.exe」を実行する
③[F2]ボタンを押し、③で保存したファイルを選択
④ダウンロードリストファイルの右横にある「+」をクリックする
⑤保存フォルダの横にある歯車ボタンをクリックし、画像の保存先を選択する
⑥左上の再生ボタン(ダウンロード実行)を押す
※このままだと「ログファイルが選択されてません」と出るので、ダウンロード履歴やエラー履歴を観たい人は別途設定してください。
(kyanは特に困らなかったので設定しませんでした)
※kyanの環境では、1000ファイルをDLし終える迄3分ちょっとでした。
所要時間
約1時間
<内訳>
ソフトウェアのインストールに10分、
ログファイルのダウンロードに10分、
ファイルの整形に30分、
ファイルのダウンロードに15分(4000ファイルの場合)
本記事に記述のない外部サービスをリストから削除する場合には、もう少し時間かかるでしょうか。
ちなみにkyanは試行錯誤しながらこの方法にたどり着いたため、4時間くらいかかった記憶があります。
特に正規表現で何度も詰まりました(1文字でも間違ってると期待した動きをしてくれないため)。
記事に書いた置換処理や重複行削除は、現在だとマクロを作成して自動処理しています。
なので、いま同じことをするならば10~15分と思います。
コメント
いかがでしたでしょうか。
技術的な色彩が濃い記事なので、読者を置き去りにしてないか心配です😅
画像数が多い方にとっては紹介した方法が速いと思いますが、PCに慣れない方は敷居が高いかも…?
トータルで100ファイル位なら手作業でポチポチ保存した方が早いかもしれません。
ナチュログから他ブログへ移行予定の方だけでなく、大切なデータのバックアップ手段としても有用ですので、困ってる方は参考にしていただけましたら♪
本日も読んでいただき、ありがとうございました。
コメント