Unix :: コマンド / wget

コマンド説明
wgetコマンドラインで HTTP や FTP 経由のファイル取得を行えるツール



取得したソースを標準出力に吐く

% wget -q -O - http://example.com/
-q : quiet_mode (通信ステータスのログを表示しない)
-O : output_document (出力ファイル名の指定) ※ - を指定すると、標準出力に出力される


User-Agent を指定する

% wget http://example.com/ --user-agent=HOGE

Basic 認証を通過する

% wget http://example.com/ --http-user=username --http-passwd=*****

指定URLを表示する為に必要な画像等も取得する

% wget http://example.com/ -p
-p, —page-requisites : HTML を表示するのに必要な全ての画像等も取得する


実際のファイル取得は行わずチェックのみする

% wget http://example.com/ --spider
—spider : ページがあるかどうか確認するだけでダウンロードしない


URLをローカルのファイルから指定する

% wget -i urls.list
-i : ローカルのファイルを指定


http://example.com/1/
http://example.com/2/
http://example.com/3/
 :


指定した秒数 wait させて実行する

% wget http://example.com/ -w 3
-w : 秒数を指定 ※ 1m(分), 1h(時), 1d(日)という指定も可能


[応用] あるURLを表示する際の合計容量を計る

合計容量には、HTMLファイルをはじめ、CSSや画像(JPEG,PNG等)も含まれる

% URL='example.com'; wget -q http://${URL} --user-agent=SoftBank -p; \
find ${URL} -type f | xargs ls -la; \
find ${URL} -type f | xargs ls -la | tr -s ' ' | cut -d' ' -f5 \
| awk '{sum+=$1}; END{print "Total:"sum}'; \
rm -rf ${URL}
使いどころとしては
携帯(ケータイ)サイトの構築の際、あるURLを開こうとすると容量オーバーでエラーになる場合などの参考にする