10
JULY
ウェブTUESDAY 2018 / 7 / 10
wgetでサイトを丸ごとダウンロードする方法
Text by Hiroyuki Matsumoto
通常ウェブサイトを制作した場合、本番環境できちんと動作するようになれば納品完了という形になるのですが、先日
「補助金の申請のため DVD-R 等に保存して提出する必要があるのですが」
というご相談がありました。
WordPressを利用したサイトですので、そういった納品方法はできかねます。
というわけで、現時点でのサイトを丸ごと静的なサイトに変換して保存してしまいましょう。
Linux系OSでは標準搭載の wget コマンドを使うことで、該当のサイトを巡回させ、静的なサイトに変換することができます。これをDVD-Rに保存すれば良いですね。
※ 以下の手順は Windows10 でのものです。
1. wgetの準備
Windowsには wget コマンドはありませんので別途入手する必要があります。方法はいろいろありますが、MSYS2 を導入するのがおすすめでしょうか。
64bit版をインストールした場合、C:\msys64\usr\bin\wget.exe が設置されています。
2. ダウンロード用に適当なフォルダを作成しておきましょう。
ここでは C:\temp\hogehoge とします。
3. コマンドプロンプトの起動
wgetはコマンドツールですので、コマンドプロンプトから呼び出します。
まずはコマンドプロンプトを起動しておきましょう。
4. カレントディレクトリを移動
wget はカレントディレクトリ(現在のディレクトリ)にデータを保存します。
ちなみにカレントディレクトリは下記のように確認できます。
CDコマンドでカレントディレクトリを変更しておきましょう。
※ ドライブが異なる場合は cd /d “d:\temp\hogehoge” のように、/d オプションを使いましょう。
5. wgetの実行
下記のコマンドを打ち込みます。URLは取得したURLに書き換えてください。
c:\msys64\usr\bin\wget.exe -m -k -E -np http://example.com/
エンターキーを押すと、サイト内を巡回して全データを取得します。
またローカル環境でも正常に表示できるよう、内部リンクも書き換えてくれます。
なおサイトの一部コンテンツが正常に動作しない場合があります。wgetによるものではなく、その他の要因(ブラウザのセキュリティ設定や、ローカルではJavaScriptで localStorage, localSessionが使用できない等)が原因であることが多いようです。
オプションについて解説
-m ”-r -N -l -inf –no-remove-listing” と等価なオプションです。
-r 再帰的にダウンロードをする
-N タイムスタンプをチェックして新しいものを保存
-l inf 階層による制限を設けない
–no-remove-listing FTPの場合のオプションで、今回は意識しなくて良い
-np 再帰的にリンクを辿る際、親に辿らないようにします。
-k ローカルで閲覧できるよう、相対パスに書き換えます。
-E HTMLドキュメント保存時の拡張子を .html にします。
TEXT by
松本 博之(まつもとひろゆき)
1978年、鳥取県米子市生まれ。
株式会社マジックワード WEBシステムの開発・運用を担当。
WordPressの実績多数。表面的な使用方法を把握するだけでなく、WordPressのソースコードを読み解いて対応できます。
国家資格の応用情報処理技術者をなんとなくとりました。