(最終更新月:2023年4月)
✔当記事はこのような方に向けて書かれています
「wgetの基本的な使い方やコマンドのオプションについて知りたい。」
「wgetはどうやってインストールするの?」
「認証が必要なサイトへのアクセス方法を学びたい」
✔当記事の主な内容は以下のとおり
- wgetコマンドとは?
- OS別のwgetのインストール方法
- wgetコマンドの応用した使い方
当記事では、wgetコマンドの基本はもちろん、認証サイトへのアクセス方法など応用した使い方まで詳しく解説しています。
ぜひ最後までご覧ください。
wgetの基礎知識4選
wgetコマンドの基礎知識を見ていきましょう。
wgetコマンドについて詳しく知る前に、最低限のことをおさえましょう。
- wgetとは?
- wgetコマンドの基本的な構文の説明
- wgetでよく使うオプション
wgetとは?
wgetは、Web上のファイルやウェブサイトをダウンロードする際に利用される、コマンドラインツールです。
ターミナルからさまざまなものがダウンロードできるので、知っているととても便利。
以下のプロトコルに対応しているので、いろいろなファイルを柔軟にダウンロードできます。
- HTTP
- HTTPS
- FTPプロトコル
wgetコマンドの基本的な構文の説明
wgetコマンドの構文は以下のとおり。
wget [オプション] [URL]
例として以下をご覧ください。
wget http://example.com/itc.txt
※実在するファイルではありません。
wgetでよく使うオプション一覧
wgetのオプションを一覧にまとめました。
以下をご活用ください。
オプション | 説明 | 実例 |
---|---|---|
-b | バックグラウンドでのダウンロード | wget -b http://example.com/file.txt |
-O [ファイル名] | ダウンロードしたファイルの名前を指定する | wget -O newfile.txt http://example.com/file.txt |
-P [ディレクトリ] | ダウンロードしたファイルの保存先を指定する | wget -P /downloads/ http://example.com/file.txt |
-t [回数] | リトライする回数を指定する | wget -t 3 http://example.com/file.txt |
-w [秒数] | ダウンロード間隔を指定する | wget -w 10 http://example.com/file.txt |
–limit-rate=[速度] | ダウンロード速度を制限する | wget –limit-rate=200k http://example.com/file.txt |
-c | 途中で止まったダウンロードを再開する | wget -c http://example.com/file.txt |
-r | 再帰的にダウンロードを行う | wget -r http://example.com/ |
-np | 親ディレクトリへの移動を禁止する | wget -r -np http://example.com/ |
-k | 相対リンクを絶対リンクに変換する | wget -r -k http://example.com/ |
-m | ミラーリングモードでダウンロードする | wget -m http://example.com/ |
-A [拡張子] | 特定の拡張子のファイルだけをダウンロードする | wget -r -A .jpg,.png http://example.com/images/ |
–max-filesize=[サイズ] | ダウンロードするファイルサイズを制限する | wget –max-filesize=1m http://example.com/images/ |
–http-user=[ユーザー名] | HTTP認証のユーザー名を指定する | wget –http-user=myuser –http-password=mypassword http://example.com/secure/ |
–http-password=[パスワード] | HTTP認証のパスワードを指定する | wget –http-user=myuser –http-password=mypassword http://example.com/secure/ |
–ftp-user=[ユーザー名] | FTP認証のユーザー名を指定する | wget –ftp-user=myuser –ftp-password=mypassword ftp://example.com/secure/ |
–ftp-password=[パスワード] | FTP認証のパスワードを指定する | wget –ftp-user |
wgetのOS別インストール方法
wgetのOS別インストール方法をご紹介します。
OSによってそのインストール方法は異なるのです。
- wgetをWindowsにインストールする方法
- wgetをMacにインストールする方法
- wgetをLinuxにインストールする方法
wgetをWindowsにインストールする方法
Windowsでインストールする方法は以下の手順です。
- Chocolateyをインストール
- コマンドプロンプトで choco install wget を実行
wgetをMacにインストールする方法
Macでは以下のとおり。
- Homebrewをインストール
- ターミナルで brew install wget を実行
wgetをLinuxにインストールする方法
Linuxについては、コマンドでインストールします。
Linuxの種類によって、以下のとおり異なります。
- Debian/Ubuntu:sudo apt-get install wget
- CentOS/RHEL:sudo yum install wget
wgetを用いたファイルダウンロード
wgetを用いたさまざまなファイルダウンロード方法をご紹介します。
対象のファイル種類や数により、方法はさまざまです。
- 単一ファイルのダウンロード
- 複数ファイルのダウンロード
- ファイルタイプやサイズによるフィルタリング
単一ファイルのダウンロード
単一ファイルのダウンロードは一般的なやり方でおこないます。
wget [URL]
wget http://example.com/itc.txt
複数ファイルのダウンロード
複数ファイルのダウンロードは、URLリストを含むテキストファイルを作成し、-iオプションで指定して実行します。
コマンドラインで複数のファイルダウンロードは実施できません。
wget -i download_list.txt
ファイルタイプやサイズによるフィルタリング
特定のファイルタイプをダウンロードする方法もあります。
見てみたい、使いたいファイルが特定されているときに使う方法です。
wget -r -A [拡張子] [URL]
例としては以下のとおり。
wget -r -A .jpg,.png http://example.com/images/
特定のファイルサイズを制限してダウンロードしたいときは以下の方法になります。
wget –max-filesize=[サイズ] [URL]
wget --max-filesize=1m http://example.com/images/
ウェブサイト全体のダウンロード
ウェブサイト全体のダウンロード方法も見ていきましょう。
ウェブサイトを丸ごとダウンロードも可能なのです。
- ウェブサイト全体をダウンロードする方法
- ダウンロードしたサイトの閲覧方法
- ミラーリングの設定とオプション
ウェブサイト全体をダウンロードする方法
ウェブサイト全体をダウンロードするには以下のようにします。
サイト全体を再帰的にダウンロードするのです。
wget -r -np -k [URL]
例はこちら。
wget -r -np -k http://example.com/
ダウンロードしたサイトの閲覧方法
ダウンロードしたファイルは、保存先のディレクトリにある index.html をブラウザで開けば、オフラインでも見られます。
なぜならindex.htmlが、そのトップページとして設定されていることがほとんどだからです。
JavaScriptなどの動きも見たいときは、Visual Studio CodeのLive Server機能を使いましょう。
ミラーリングの設定とオプション
サイト全体をミラーリングする方法は以下のとおり。
wget -m [URL]
ミラーリングは以下のような目的で利用されます。
- ウェブサイトのバックアップを作成する。
- オフラインでウェブサイトを閲覧するためにコンテンツをダウンロードする。
- ウェブサイトのパフォーマンスや可用性を向上させるために、複数のサーバーで同じコンテンツを提供する。
- ウェブサイトのテストや開発のために、ローカル環境でコンテンツを利用する。
例としては以下のとおり。
wget -m http://example.com/
ミラーリングにより、以下のようなリソースを含み、完全なコピーが作成できるのです。
- ウェブサイトの構造
- ファイル
- ディレクトリ
- 画像
- スタイルシート
- JavaScript
wgetを使った大規模データ収集
wgetを使って、大規模なデータ収集をおこなえます。
たくさんのデータを手軽に調べたいときに使える手法です。
- 大規模なデータ収集の方法
- スクレイピングとの違い
- データ収集の際の注意点とマナー
大規模なデータ収集の方法
大規模なデータ収集をおこなうときには、以下のようにします。
wget -r -w [秒数] –random-wait -np -k [URL]
ウェブサイト全体を再帰的にダウンロードし、制限時間を設定しているのです。
具体的には以下のとおり。
wget -r -w 10 --random-wait -np -k http://example.com/
スクレイピングとの違い
wgetとスクレイピングの違いは以下のとおり。
- wget:主にファイルやウェブサイトのダウンロードに使用
- スクレイピング:特定のデータを抽出するために使用
スクレイピングはプログラムを使ってウェブページの構造を解析し、目的の情報を取得します。
データ収集の際の注意点とマナー
wgetでなんでもできるからといって、なりふりかまわずデータ収集をおこなって良いわけではありません。
以下の注意点・マナーを守りましょう。
- サーバーに負荷をかけないようにダウンロード間隔を設定する。
- robots.txtファイルを確認し、クローリングが許可されている範囲で行う。
- 著作権やプライバシーを尊重し、適法な範囲でデータ収集を行う。
認証が必要なサイトへのアクセス
認証が必要なサイトへのアクセス方法について見ていきます。
サイトによっては認証がなければアクセスできない場合もあるはずです。
- HTTP認証を使用したアクセス
- FTP認証を使用したアクセス
- クッキーを利用したログイン
HTTP認証を使用したアクセス
HTTP認証を使用したアクセスには以下のとおりおこないます。
wget –http-user=[ユーザー名] –http-password=[パスワード] [URL]
こちらが例です。
wget --http-user=myuser --http-password=mypassword http://example.com/secure/
FTP認証を使用したアクセス
FTP認証を使用したアクセスも可能。
wget –ftp-user=[ユーザー名] –ftp-password=[パスワード] [URL]
以下がサンプルです。
wget --ftp-user=myuser --ftp-password=mypassword ftp://example.com/secure/
クッキーを利用したログイン
クッキーを利用したログインが必要な方もいるはずです。
やり方はこちら。
1. クッキー情報を保存するファイルを作成
wget –save-cookies cookies.txt –post-data “username=myuser&password=mypassword” [ログインURL]
2. クッキー情報を使用してアクセス
wget –load-cookies cookies.txt [アクセスしたいURL]
進行状況とログの管理
wgetコマンドを使った際の進行状況やログ管理方法も知っておきましょう。
なぜならwgetコマンドは対象のファイルによってとても時間がかかるからです。
- 進行状況の表示と制御
- ログファイルの作成と活用
- エラーの対処方法
進行状況の表示と制御
進行状況の表示方法はこちら。
wget –progress=bar [URL]
これにより、進行状況バーを表示できます。
例としてはこちら。
wget --progress=bar http://example.com/itc.txt
ログファイルの作成と活用
ログファイルの作成・活用方法はこちら。
wget -o log.txt [URL]
wget -o log.txt http://example.com/file.txt
ログファイルの内容を確認し、エラーや進行状況を把握できます。
エラーの対処方法
エラーを対処するためには以下の方法を使いましょう。
- エラーメッセージを確認し、原因を特定する。
- インターネット接続やURLの正確さを確認する。
- 必要であれば、オプションやパラメータを調整する
まとめ:wgetでファイルダウンロードをすれば業務の幅が広がる
当記事の内容をまとめます。
- wgetはファイルをダウンロードできるコマンド
- wgetもむやみに使うのはマナー違反
- wgetはオプションなどを使えばより具体的に使用方法が指定できる
wgetはかなり強力なコマンドです。
マナーを守らずおこなうと、知らずと犯罪を犯してしまうことも。
気をつけながら、正しくお使いください。