※ 参考情情報 : Webミラーサイト作成キット
wget 一つで既存 Web サイトのミラーサイト構築できるかな? wget はオプションが多すぎて挫折気味です。。。。
が!いろんな方に情報いただいてだいぶ使えるようになりました。ポイントをメモしておきます。
まず、wget は 1.12 以降を使用します。これより前のバージョンは CSS の解釈が下手で CSS からインポートしている CSS をダウンロードできなかったりします。
ミラーサイトを作る目的の場合に指定するとよいオプションは以下の通り。
オプション | 説明 |
---|---|
-p, --page-requisites | ページを適切に表示するために必要な関連ファイルを取得する。 |
-r, --recursive | 再帰的に取得する。 |
-l, --level | 再帰の深さ(1 以上)を指定。0 は無限に再帰する。 |
-k, --convert-links | リンクの URL をミラー先をポイントするように修正する。 |
-K, --backup-converted | URL 修正前のファイルを保存する。 |
-N, --timestamping | 修正があったファイルのみを再取得する。 |
特に、-k を指定する場合は、同時に -K を指定しないと、-N によるタイムスタンプ比較がうまく機能しない場合があります。
-r を指定しない時は、指定ページのみを取得します。-p を付加することで、そのページを表示するために必要な画像ファイルなどを追加で取得します。-r を指定した場合は、-l N で N クリック先の画面まで取得します。
その他、環境に応じて設定してもよいオプションは以下の通り。
オプション | 説明 |
---|---|
-nH, --no-host-directories | ダウンロード場所にホスト名のディレクトリを作成しない。 |
-np, --no-parent | 開始点より上位の URL は取得しない。 |
-D, --domains=LIST | 取得するドメインをコンマ区切りで指定する。 |
--exclude-domains=LIST | 取得しないドメインをコンマ区切りで指定する。 |
-S, --server-response | サーバの応答を表示する。 |
ミラー元のサーバに robots.txt があってミラーできない場合、-e robots=off で robots.txt を無視することができます。(ミラー元の許可を得てからやるようにしましょう。)