wget 10段活用
wgetの使い方について、よく忘れるので自分用のメモ。
1.出力ファイルを指定する
出力ファイルを指定するには -O オプションでファイル名を指定します。
$ wget -O filename.html http://www.example.com/
2.標準出力に出力する
標準出力に出力するには -O オプションでファイル名にハイフンを指定します。
又、メッセージを出力しないようにするためには、-qオプションをを指定します。
$ wget -q -O - http://www.example.com/
3.再帰的にダウンロードする
再帰的にダウンロードするには-rオプションを指定します。
リンクをたどる階層数は-lオプションで指定します。
$ wget -r -l 1 http://www.example.com/
ダウンロードするファイルの拡張子は -A オプションで指定できます。
$ wget -r -A jpg,gif,png http://www.example.com/
4.POSTする
POSTは --post-dataオプションでパラメータを渡すことができます。
$ wget --post-data='user=foo&pass=bar' http://www.example.com/
5.REFERERを指定する
$ wget --referer='http://www.example.com/' 'http://www.example.com/img/photoXXXX.jpg'
6.UserAgentを偽装する
UserAgentは --user-agentオプションで指定可能。
$ wget --user-agent='Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5' http://www.example.com/
7.送信するヘッダーを指定する
送信するHeaderは --headerオプションで指定可能。
$ wget --header='Host: foo.bar' http://127.0.0.1/
8.サーバーが送信したヘッダーを保存する。
サーバーが送信してきたヘッダーは --save-headersオプションで保存可能。
$ wget --header='Host: foo.bar' http://127.0.0.1/
9.認証が必要なサイトで利用する
Basic認証、Digest認証などで使用する場合、取り敢えず以下の方法でできる。
$ wget --http-user=foo --http-password=bar http://www.example.com/
尚、上記の方法はpsコマンドでパスワードが見えてしまうので安全ではない。
安全に扱うためには ~/.wgetrcに記載し、chmodで保護する。
http_user=foo http_password=bar
10.Cookieを利用する
Cookieは --save-cookiesオプションでCookieを保存するファイルを指定し、セッションを継続するために --keep-session-cookiesオプションを指定します。
次に、--load-cookiesでCookieを読み込みます。
$ wget --save-cookies=cookies.txt --keep-session-cookies --post-data='user=foo&pass=bar' http://www.example.com/auth/ $ wget --load-cookies=cookies.txt http://www.example.com/download/filenname.txt