ホーム > ネットワーク管理 > wget

wget -r: ウェブサイトの再帰的なダウンロード

wget -rは、ウェブサイトや特定のディレクトリのコンテンツをローカルシステムに再帰的にダウンロードするために使用される強力なコマンドです。リンクをたどり、指定された深さまで全てのファイルとディレクトリをコピーすることで、オフラインでのウェブサイト閲覧やバックアップに役立ちます。

概要

wget -rは、ウェブサーバーからファイルとディレクトリを指定された深さまで自動的に探索してダウンロードします。これは、ウェブサイトのミラーリング、オフラインブラウジング、特定の種類のファイルの収集などに活用できます。

主な機能

  • ウェブサイト全体のミラーリング
  • 指定された深さまでのリンク追跡
  • ファイル形式のフィルタリング
  • オフラインブラウジングのためのリンク変換

主なオプション

wget -rを使用する際に、再帰的なダウンロードの動作を細かく制御できる主なオプションです。

再帰ダウンロードの制御

保存と出力

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`wget` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

wget -rコマンドを活用した実際の使用例です。

基本的な再帰ダウンロード

wget -r https://example.com/docs/

指定されたURLの全てのコンテンツを再帰的にダウンロードします。

ウェブサイトのミラーリング(深さ制限、リンク変換)

wget -r -l 2 -k -p https://example.com/

ウェブサイトを深さ2段階までダウンロードし、オフラインで閲覧できるようにリンクをローカルパスに変換します。

特定のファイル形式のみダウンロード

wget -r -A "*.pdf,*.doc" https://example.com/files/

指定されたディレクトリからPDFおよびDOCファイルのみを再帰的にダウンロードします。

親ディレクトリへ移動せずにダウンロード

wget -r -np https://example.com/data/

現在のディレクトリ内でのみ再帰的にダウンロードし、親ディレクトリへ移動しません。

ダウンロードディレクトリの指定

wget -r -P /home/user/websites https://example.com/

ダウンロードされた全てのファイルを特定のローカルディレクトリ(`/home/user/websites`)に保存します。

ダウンロード速度の制限と待機時間の設定

wget -r --limit-rate=200k --wait=1 https://example.com/large-site/

ダウンロード速度を200KB/sに制限し、各リクエスト間に1秒待機してサーバー負荷を軽減します。

ヒントと注意点

wget -rを使用する際は、サーバーに過剰な負荷をかけないように注意し、必要なファイルのみをダウンロードして効率を高めることが重要です。

役立つヒント

  • `--wait`オプションでサーバー負荷を軽減: 短い間隔で多くのリクエストを送るとサーバーに負担がかかる可能性があるため、`--wait=1`(1秒待機)のようなオプションを使用することをお勧めします。
  • `--limit-rate`で帯域幅を制限: ネットワーク帯域幅を過剰に使用しないように、ダウンロード速度を制限できます。
  • ロボット排除プロトコル(`robots.txt`)の遵守: ほとんどのウェブサイトは`robots.txt`ファイルでクローリングルールを明示しています。`wget`はデフォルトでこれを遵守しますが、`--execute=robots=off`オプションで無視することも可能です(推奨されません)。
  • 無限ループを防ぐために`-l`(深さ)および`-np`(親ディレクトリ移動禁止)オプションを活用: 不適切な設定は無限ループに陥ったり、意図しない大量のファイルをダウンロードしたりする可能性があります。
  • オフラインブラウジングのために`-k`(リンク変換)および`-p`(ページ必須要素)オプションを併用: この2つのオプションは、ダウンロードしたウェブサイトをローカルでスムーズに閲覧するために不可欠です。

同じカテゴリのコマンド