LinuxやmacOSのターミナルで wget コマンドを使用し、指定したURL配下にあるファイルを再帰的に一括ダウンロードする方法を解説します。
安全で実用的なダウンロードコマンド
サーバーへの過度な負荷を防ぎ、不要な親ディレクトリへの遡上を避けるための推奨コマンド例です。
wget -r -l 0 -np -w 1 --random-wait URL
主なオプションの解説
-r(recursive): ページ内のリンクを再帰的にたどってダウンロードします。-l 0(level): たどる階層の深さを指定します。0(またはinf)を指定すると、階層制限なしで無限にダウンロードします(デフォルトは5階層)。-np(no-parent): 親ディレクトリへのリンクをたどらないようにします。指定したディレクトリ配下のファイルだけを取得したい場合に必須のオプションです。-w 1(wait): 各ファイルへのリクエスト間に指定秒数(例では1秒)の待機時間を挟みます。--random-wait: 待機時間を 0.5〜1.5 倍の間でランダムに変動させ、サーバーへのアクセス集中を避けます。
安全上の注意(マナー)
短時間に大量のリクエストを送信すると、相手のWebサーバーに大きな負荷がかかります。最悪の場合、攻撃(DoS攻撃)とみなされてIPアドレスがブロックされる可能性があります。
再帰ダウンロードを行う際は、必ず -w や --random-wait などのウェイト制限オプションを付与し、サーバー側の利用規約や robots.txt のルールに従って実行してください。
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月9日
- 追加親ディレクトリへの遡上を防ぐ「-np」オプションや、サーバーへの負荷を軽減するためのウェイト指定(-w)など、実用的なオプションの説明を追加しました。
- 変更コマンド例をより安全で実用的な組み合わせに更新し、各オプションの意味を解説しました。
