GNU Wget

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

外部リンク



* 公式ウェブサイト

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。