【ダブリューゲット】

wget とは?

最終更新:
💡 URLからファイルを取得する、コマンドの配達員

GNU Wgetは、HTTP・HTTPS・FTPでファイルを取得するコマンドラインツール。対話操作なしに動作し、リンクをたどる再帰取得や、条件付きの中断再開に対応する。

📌 このページのポイント
wget:URLからファイル取得 wget curl リンクをたどる取得 -r / --mirror URLで取得・送信 POST / PUT など どちらもファイルを取得できる wget Webサーバー 保存 -c は条件付きで続きの取得を試す 取得元の変更・再開対応を確認
Wgetの再帰取得とcurlの送受信の特徴を比較。下の矢印は取得したファイルが保存される流れで、要求の送信方向ではない。-cの再開はサーバーの対応と取得元の内容に依存する。
ひよこ ひよこ
wgetって何に使うの?
ペンギン先生 ペンギン先生
Webなどからファイルを取得するGNUのツールだよ。例えば wget https://example.com/file.zip という形でURLを指定する。これは書き方の例なので、実際には取得したいファイルのURLに置き換えるんだ。
ひよこ ひよこ
ブラウザでのダウンロードとどう違うの?
ペンギン先生 ペンギン先生
対話操作なしに動くので、画面のないサーバーやスクリプトでも使えるよ。定期取得なら、時刻を決めて起動する別の仕組みと組み合わせる。curlもファイルを取得できるけれど、Wgetにはリンクをたどる再帰取得の機能があるんだ。
ひよこ ひよこ
途中で切れたら、-cで続けられる?
ペンギン先生 ペンギン先生
wget -c URL で続きの取得を試せるよ。ただし、手元のファイルが現在の取得元と同じ内容の先頭部分であることが前提。サーバーが再開に対応しないと最初から取得して上書きすることもあり、取得元が変更されていると正しいファイルにならない場合があるんだ。
ひよこ ひよこ
リンク先もまとめて取得するには?
ペンギン先生 ペンギン先生
例えば wget -r -l 2 --wait=1 https://example.com/ なら、再帰取得の深さを2に制限し、各取得の間に1秒待つよ。対象URLに置き換え、取得範囲や許可、サーバーへの負荷を確認しよう。深さの制限だけで、サイトの全ファイルがそろうとは限らないんだ。
ひよこ ひよこ
--mirrorなら完全なバックアップになる?
ペンギン先生 ペンギン先生
--mirrorは再帰取得、深さ無制限、更新時刻の比較などをまとめて有効にするよ。対象範囲が広がるので設定を確認しよう。取得できるファイルを更新する機能で、サーバー内部のプログラムやデータベースまで保存する完全なバックアップではないんだ。
もっと詳しく知りたい人へ

取得したページをオフラインで読むには?

必要な画像やスタイルなどの取得には -p、取得済みファイルへのリンクの変換には --convert-links を検討するよ。リンク先が取得されていなければ外部URLのままなので、取得しただけで必ずオフライン表示できるわけではない。実際に通信を切った状態で必要なページを確認しよう。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「wget」って出てきたら「URLを指定してファイルをダウンロードするコマンド」と思えばだいたいOK!
📖 おまけ:英語の意味
「GNU Wget」 = GNUのファイル取得ツール
💬 このページで扱うのはGNU Wgetだよ。ブラウザの対話操作を使わず、指定したURLからファイルを取得するコマンドなんだ。

参考資料

← 用語集にもどる