【実例付】wgetマスターへの道:基礎知識から応用まで徹底解説

Linux

(最終更新月:2023年4月)

✔当記事はこのような方に向けて書かれています

「wgetの基本的な使い方やコマンドのオプションについて知りたい。」

「wgetはどうやってインストールするの?」

「認証が必要なサイトへのアクセス方法を学びたい」

✔当記事の主な内容は以下のとおり

  • wgetコマンドとは?
  • OS別のwgetのインストール方法
  • wgetコマンドの応用した使い方

当記事では、wgetコマンドの基本はもちろん、認証サイトへのアクセス方法など応用した使い方まで詳しく解説しています。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロマネ/システムプランニング

【副業】ブログ(月間7万PV)/YouTube/Web・アプリ制作

【元】外資系金融機関の営業

コミュニケーション × ビジネススキル × 文章力 × プログラミングスキルを活かし、30後半からのIT系職へシフト。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

ChatGPTでLINEボット

【今なら無料】ChatGPTでLINEボットを作りました!

友だち追加

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でインストールする方法は以下の手順です。

  1. Chocolateyをインストール
  2. コマンドプロンプトで 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はかなり強力なコマンドです。

マナーを守らずおこなうと、知らずと犯罪を犯してしまうことも。

気をつけながら、正しくお使いください。

✔当ブログは以下のような方に向けて書かれています

「Djangoでのアプリ開発を学びたい!」

「Djangoで開発したアプリをWebで公開するにはどうするの?」

✔当ブログ掲載の記事

  • Djangoで作る日報アプリ開発
  • WebアプリをWeb上に公開する方法
  • Webアプリ開発に必要なそのほかの情報
【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!

ITCブログにご協力いただける方は、以下もご検討いただけると嬉しいです。

ITCへ投げ銭をする

タイトルとURLをコピーしました