GNU Wget について
GNU Wget(通称Wget)は、ウェブサーバーからコンテンツを
ダウンロードするためのコマンドラインツールです。
GNUプロジェクトの一部として開発されており、その名前は
World Wide Web(WWW)とデータ取得を意味する「get」という単語に由来しています。HTTP、
HTTPS、FTPといった主要なプロトコルに対応し、ウェブブラウジングにおけるコンテンツ取得を効率化します。
特徴
Wgetは、以下のような特徴を持っています。
確実性: 不安定なネットワーク環境でも、
ダウンロードが中断された箇所から自動的に再開します。これにより、ファイル全体を確実に取得できます。
再帰的ダウンロード: ウェブサイトの構造を維持したまま、
ウェブページ内のリンクを辿ってコンテンツを再帰的に
ダウンロードできます。これにより、ウェブサイトの
ミラーリングが容易に行えます。
非対話性: 一度起動すればユーザーの操作を必要とせず、バックグラウンドでの
ダウンロードが可能です。ログファイルに進行状況を記録することもできます。
移植性: C言語で記述されており、
Unix系システムをはじめ、macOS、Windowsなど、様々なプラットフォームで動作します。
その他の特徴: プロキシサーバー経由での
ダウンロード、持続的HTTP接続、
IPv6サポート、SSL/TLSによる暗号化
ダウンロード、
帯域幅制限など、豊富な機能を備えています。
基本的な使い方
Wgetはコマンドラインから、
ダウンロードしたいURLを引数として指定して使用します。
bash
wget [URL]
複数のURLを一度に
ダウンロードしたり、ウェブサイトを再帰的に
ダウンロードしたりすることも可能です。
bash
wget -r -l 3 -p -k https://www.example.com/
`-r`:再帰的に
ダウンロードします。
`-l 3`:再帰の深さを3に制限します。
`-p`:ページ内の画像やCSSファイルなどの必要な要素も
ダウンロードします。
`-k`:
ダウンロードしたHTML内のリンクをローカルファイルを参照するように変換します。
高度な使い方
Wgetには、以下のような高度な機能があります。
プロキシ設定: プロキシサーバー経由で
ダウンロードを行うことができます。
認証: HTTP認証やNTLM認証に対応しています。
タイムスタンプ: リモートファイルがローカルファイルよりも新しい場合にのみ
ダウンロードするように設定できます。
帯域幅制限: ダウンロード速度を制限して、ネットワーク帯域を圧迫しないようにすることができます。
ログ記録: ダウンロードの進行状況やエラーをログファイルに記録できます。
歴史
Wgetは1996年に、Geturlという以前のプログラムの後継として登場しました。当時、HTTPとFTPの両方で確実にファイルを
ダウンロードできるツールが不足していたため、多くの
Unixユーザーに利用されるようになりました。その後、
GNUプロジェクトの一部となり、数々の機能追加や改善を経て、現在に至ります。
リリース履歴
Geturl 1.0 (1996年1月): 最初の一般公開。
Wget 1.4.0 (1996年11月): Wgetという名前で最初のリリース。GPL
ライセンス下で配布開始。
Wget 1.4.3 (1997年2月): フリーソフトウェア財団に著作権が譲渡され、
GNUプロジェクトの一部に。
Wget 1.5.3 (1998年9月): 多くの
Linuxディストリビューションに同梱され、広く普及。
Wget 1.7 (2001年6月): SSLサポート、クッキー、持続的接続を導入。
Wget 1.10 (2005年6月): 2GiBを超えるファイルのサポート、
IPv6サポート、NTLM認証。
Wget 1.13 (2011年8月): HTTP/1.1をサポート。OpenSSLの代わりに
GnuTLSをデフォルトに。
Wget 1.14 (2013年9月): WARCファイルのサポート、RFC2617ダイジェストアクセス認証をサポート。
Wget 1.20 (2018年11月): `retry-on-host-error` オプション、`accept-regex`, `reject-regex` オプションを追加。
Wget 1.21 (2020年12月): 翻訳文字列増加。alloca の全削除。構成フラグ `
enable-fsanitize-ubsan`と`enable-fsanitize-asan`と`--enable-fsanitize-msan` for gcc and clang追加。OpenSSL のハンドシェイク後認証追加。
開発とリリース
Wgetの開発はオープンな環境で行われ、設計上の決定やバグ報告はメーリングリストを通じて議論されます。コードは
パッチの形で投稿され、メンテナによってレビューされます。リリースは、十分な数の機能やバグフィックスが蓄積された際に行われます。バージョン番号は、メジャー.マイナー.リビジョンの形式で付与されます。
Wgetは、
GNU General Public License バージョン3以降の
ライセンスで配布されています。OpenSSL
ライブラリとのリンクに関する特別な例外規定があり、より柔軟な利用が可能です。ドキュメントは
GNU Free Documentation Licenseバージョン1.2以降で配布されています。
国際化
WgetはGNU gettextによる国際化に対応しており、多
言語で利用できます。
Wget2
Wget2はWgetの後継となるプロジェクトで、より高速な
ダウンロードを実現するために
HTTP/2|HTTP_2や並列接続などの新しい技術を導入しています。
まとめ
GNU Wgetは、ウェブコンテンツを効率的に
ダウンロードするための強力なツールです。その多機能性、信頼性、
移植性により、多くのユーザーに利用されています。コマンドラインに慣れていなくても、基本的な使い方を覚えれば、ウェブサイトの
ミラーリングやファイル
ダウンロードを簡単に行うことができます。
関連項目
クローラ
The GNU Project
cURL
lftp
外部リンク
*
公式ウェブサイト