【wget】サイトをまるごとダウンロードする方法
自分のサイトのバックアップや、仕事で使うサイトなどをローカルにダウンロードしたいときが多々ありますが、「wget」を使用すれば簡単にそれが実現できます。
ここではwgetについて説明します。
wgetについて
wgetとは、指定したサイトをまるごとダウンロードしたり、任意のディレクトリに存在するファイルなどを自動的にダウンロードできるツールです。
用意されているオプションが豊富で、リンク先をたどる階層を指定したりもできます。
使い方
基本形は以下で、「http://○○○.com/」というURLを指定すれば、そのURLのファイルがダウンロードできます。
wget http://○○○.com/
あとは下記のオプションをお好みで付け加えるだけで自由自在にファイルをダウンロードできます。
wgetのオプション
-r:再帰的に取得する(次々にファイルを取得するのでサイトまるごとダウンロードできる)
例:wget -r http://○○○.com/
-l:指定URLを起点として指定階層のリンクをたどってファイルを取得。0は全階層でデフォルトは5階層。以下は3階層
例:wget -r -l 3 http://○○○.com/
※なお「wget -l 3 http://○○○.com/」では指定したURLのみしかダウンロードできない。理由は再帰処理(-r)していないため。
-k:ファイル取得時に絶対パスを相対パスに変更
-np:親ディレクトリは無視
-P:保存先フォルダを指定
wget -P /var/www/html/base/保存先フォルダ http://○○○.com/
-o:保存先フォルダを指定し、そのファイル名も指定
wget -o /var/www/html/base/保存先フォルダ/ファイル名 http://example.com/
-c:大きいファイルが原因でダウンロードが中断した場合はこのオプションでレジューム
--user-agent=:ユーザーエージェントを指定
wget http://○○○.com/ --user-agent="hogehoge"
のように「--user-agent」コマンドを使用すると、wgetのユーザーエージェントは「hogehoge」になる。
そのほかのオプションはこちら
wgetでよく使うもの
・任意のフォルダに特定ディレクトリのファイルのみダウンロード
wget -r -np -l 0 -P /保存したいフォルダまでのパス http://○○○.com/○○○/
※最後に「/(スラッシュ)」がないと上手く取得できない
※-kオプションをつけたが相対パスに変更されない?(大雑把な確認)
・任意のフォルダにサイトまるごとダウンロード(絶対パスを相対パスに変更)
wget -r -k -P /保存したいフォルダまでのパス http://○○○.com/
wgetに関するメモ
・wgetのユーザーエージェントを調べた結果以下であった(サーバーはロリポップ)。なお、wgetのユーザーエージェントの初期値は「Wget/バージョン」という形になる。
Wget/1.10.2 (Red Hat modified)
・javascriptは実行できない(javascriptで設定したリンク先を読み込めない)
・ロリポップ
#! /bin/sh
/usr/bin/wget -r -k -P /home/users/0/アカウント名/web/フォルダ名 http://○○○.com/
exit
あわせて読んでほしい!
コメント
まだコメントはありません。