概要
wgetは、HTTP、HTTPS、FTPプロトコルを使用してウェブサーバーからファイルをダウンロードする非対話型ネットワークダウンローダーです。特に再帰ダウンロード機能は、ウェブサイト全体または一部をローカルにコピーしてオフラインでアクセスできるようにしたり、特定の種類のファイルを大量に収集したりする際に強力なツールとして活用されます。
主な特徴
- ウェブサイト全体のミラーリングとオフラインブラウジング
- 指定した深さまでのディレクトリ構造の維持
- 特定のファイル形式のみを選択的にダウンロード
- ダウンロード後、リンクをローカルファイルパスに自動変換
- 中断したダウンロードの再開機能
主なオプション
再帰ダウンロードに関連する主なオプションです。
再帰ダウンロードの制御
ダウンロードのフィルタリングと動作
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`wget` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
wgetの再帰ダウンロード機能を活用した様々なシナリオです。
基本的な再帰ダウンロード
wget -r http://example.com/docs/
指定されたURLから開始し、すべてのサブリンクをたどってファイルをダウンロードします。
ウェブサイト全体のミラーリング
wget -m -k -p http://example.com/
ウェブサイトをローカルに完全にミラーリングします。リンクをローカルパスに変換し、ページに必要なすべての要素をダウンロードし、タイムスタンプを使用して更新されたファイルのみをダウンロードします。
特定の深さまでダウンロード
wget -r -l 2 http://example.com/blog/
再帰の深さを2に制限し、開始URLから2段階までのみサブリンクをたどります。
HTMLおよび関連ファイルをダウンロード(オフライン表示用)
wget -r -p -k http://example.com/article.html
特定のHTMLページと、そのページを正しく表示するために必要なすべてのファイル(画像、CSS、JSなど)をダウンロードし、リンクをローカルパスに変換します。
特定の拡張子のみをダウンロード
wget -r -A "*.pdf,*.doc" http://example.com/documents/
指定されたディレクトリからPDFおよびDOCファイルのみを再帰的にダウンロードします。
User-Agentの設定とrobots.txtの無視
wget -r -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" -e robots=off http://example.com/
User-Agentを設定し、robots.txtファイルを無視してすべてのコンテンツにアクセスします。(注意して使用)
ダウンロード速度の制限と待機時間の 설정
wget -r --limit-rate=200k --wait=5 http://example.com/
ダウンロード速度を200KB/sに制限し、各リクエストの間に5秒待機してサーバーへの負荷を軽減します。
ヒントと注意点
wgetの再帰ダウンロード機能は強力ですが、サーバーに過剰な負荷をかけたり、不要なデータをダウンロードしたりする可能性があるため、注意して使用する必要があります。
主なヒント
- **サーバー負荷の防止**: `--wait`オプションを使用してリクエスト間の待機時間を設け、サーバーに過剰な負荷をかけないようにします。`--random-wait`オプションでランダムな待機時間を設定することもできます。
- **`robots.txt`の尊重**: デフォルトでは、`wget`は`robots.txt`ファイルを尊重します。特別な理由がない限り、`-e robots=off`オプションの使用は控えるのが良いでしょう。ウェブサイトのポリシーを確認してください。
- **User-Agentの設定**: 一部のウェブサイトは、特定のUser-Agentをブロックしたり、異なるコンテンツを提供したりする場合があります。`--user-agent`オプションで一般的なブラウザのUser-Agentを設定すると役立つことがあります。
- **ダウンロード深さの制限**: `-l`オプションで再帰の深さを制限することにより、不要なサブページまでのダウンロードを防ぎ、ディスク容量の無駄をなくすことができます。
- **証明書の警告**: `--no-check-certificate`はSSL/TLS証明書の有効性チェックを無効にするため、セキュリティリスクがあります。信頼できないサイトでは使用しないことをお勧めします。
- **ダウンロードの再開**: `-c`または`--continue`オプションを使用して、以前中断したダウンロードを再開できます。これは、大容量ファイルや不安定なネットワーク環境で役立ちます。