Wgetを使用してウェブサイトをPCにダウンロードする方法

Linux Wget Url Feature

ウェブブラウザなしでウェブサイトをダウンロードする方法があるかどうか考えたことはありますか?あなたは運が良いです。Linuxコマンドラインの力を借りれば、何でも可能です。この作業を完了するための複数の方法がありますが、この記事ではwgetに焦点を当てます。

wgetとは?

wgetは、ウェブサーバーからコンテンツを取得するためのGNUコマンドラインユーティリティです。ダウンローダーとして、wgetは非常に強力です。wgetは、HTTP、HTTPS、FTPなどの複数のプロトコルで動作することができます。wgetユーティリティの他の機能には、以下が含まれます:

  • サイレントまたはバックグラウンドで実行する能力
  • LinuxスクリプトやCRONジョブとの統合
  • 一度に複数のダウンロードを実行できる
  • パスワードが必要なファイルをダウンロードする

なぜwgetなのか?

ウェブサイトの活動を実行できるツールは多数ありますが、wgetは広範囲にわたる機能を提供します。ユーザーはウェブブラウザなしで機能する能力を持ちます:

  • ウェブサイトの完全なコピーをダウンロードする
  • ウェブサイトから特定のファイルをダウンロードする
  • 要求に応じてファイルの取得を自動化する
  • 認証ポータルから文書を取得する

wgetはほとんどのLinuxディストリビューションに組み込まれているため、最初から利用可能であり、追加のインストールは必要ありません。

wgetの基本

wgetを始めるのは非常に簡単です。まず、Linuxターミナルを開きます。

ターミナルウィンドウが開いたら、以下のようにwgetを実行できます:

wget URL

「URL」をウェブサイトの正確なURLに置き換えます。

部分的にダウンロードされたファイルを再開するには、コマンドに-cスイッチを使用します:

wget -c URL

wgetのダウンロードをサイレントにするには、最初のwgetコマンドに-qスイッチを追加します:

wget -q URL

wget内のオプションの正しい使用法がわからない場合は、以下を使用します:

wget --help

ウェブサイト以外にも、wgetを使用してファイルをダウンロードできます。例えば:

wget https://example.com/file.zip

単にファイルを取得し、現在のディレクトリに保存します。

異なるファイル名や異なる場所に保存したい場合は、-Oフラグを使用します。

wget https://example.com/file.zip -O ~/Documents/my_downloaded_file.zip

FTPオプション

前述のように、wgetはFTPもサポートしています。FTPサイトを指定するだけで:

wget ftp://ftp.example.com

wgetは匿名ログインを希望していると仮定します。あるいは、以下のフラグを使用してユーザー名やパスワードを手動で指定できます:

  • --ftp-user=USER:ログインのためのユーザー名を指定
  • --ftp-password=PASS:パスワードを指定
  • --no-passive-ftp:パッシブ転送モードを無効にする

タイムアウト、リトライ、および失敗したダウンロード

最後に、wgetにはサーバー接続の問題やタイムアウトに関連するいくつかのオプションがあります。すべての失敗に対処できるわけではありませんが、以下のフラグはすべてサーバーの問題に対処するためのものです:

  • --tries=NUMBER:ダウンロードを再試行する回数を指定
  • --retry-connrefused:サーバーによって接続が拒否されてもダウンロードを再試行
  • --timeout=SECONDS:グローバル設定 – タイムアウトまでの待機時間
  • --wait=SECONDS:成功したダウンロードの間に待機する時間(繰り返す場合)

誰がwgetを使用するのか?

この記事を読んでいると、「これは複雑でウェブブラウザを使用するよりもはるかに難しい」と思うかもしれませんが、システム管理者やプログラマーとして、このユーティリティを利用できる人は誰でもいます。以下は、私が日常でこのコマンドをどのように使用しているかの2つの例です。

セキュリティ研究者としての私の仕事を容易にするために、私はこのコマンドをスケジュールして複数のウェブサイトを一度にダウンロードできます。これは、リスト内に複数のURLを含むテキストファイルを作成することで実行できます(1行に1つのURL)。以下のコマンドを-iスイッチと共に実行することで、wgetはリスト内の各ウェブサイトをダウンロードします。

wget -i download_file_name URL

システム管理者として、私はパスワード保護された場所から文書を簡単に取得できます。オフラインではあまり役立たないかもしれませんが、wgetを実行することで、サイトに資格情報を追加できます。

wget --user=user_id --password=user_password URL

これで完了です!思ったほど難しくなかったでしょう?wgetを使用してアクションを自動化できることで、時間を節約し、オフラインでも作業できる能力を得ることができます。失うものは何ですか?

下にコメントを残して、これが役に立ったかどうか教えてください。