GNUWin32 wget
d:\ cd d:\tpAV PATH="C:\Program Files\GnuWin32\bin" wget -l 2 -c -r -np -b -nc -R index.html http://www.example.com/mp3/
- http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16430
- GNU Wget 1.9 Manual: スタートアップファイル
[wget] Webページに書かれたリンクから特定の拡張子のファイルのみダウンロードする
例えば、ポッドキャストのページでは各番組がmp3ファイルにリンクされているので。
$ wget -r -e robots=off -H -l 1 -D stream.hoge.co.jp -A .mp3 -nd http://www.hoge.co.jp/podcast/hage.html
-rは再帰ダウンロード、-Hはホスト名の違うとファイルをダウンロード、-Dはどのホストからのダウンロードを許可するか、-Aはどの拡張子を許可するか、-lはリンクをたどる深さ、-eはwgetコマンド。
Webサーバー上にあるプログラムに仕事をさせる
:STAT D:\bin\wget-1.10.1-bin\bin\wget -o log.log --delete-after -b -ehttp_proxy=http://localhost:8080/ -O hoge.tmp http://example.com/cgi-bin/hoge.shtml perl -e "sleep(4)" rem exit goto STAT
ダウンロードが成功するまで何回でもやり直す
デフォルトでは20回ダウンロード試行に失敗すると終了。これを無制限にして、成功するまで何回でも試行させるには-t(--tries)オプションの引数を0にする。
$ wget -t 0 http://example.com/ $ wget --tries=0 http://example.com/
Proxomitronと組み合わせてWebサーバー上にあるプログラムの耐久評価をする
:STAT D:\bin\wget-1.10.1-bin\bin\wget -o log.log --delete-after -b -ehttp_proxy=http://localhost:8080/ -O hoge.tmp http://example.com/cgi-bin/hoge.shtml rem exit goto STAT
Proxomitronは8080番ポートで接続を待っているプロキシとして動いているので、Wgetの-eオプションを使ってこの接続におけるプロキシを設定します。これは、同一IPアドレスからの頻繁なアクセスを避けるためです。Proxomitronで外部プロキシの使用にチェックを入れておきます。上のバッチプログラムを実行すれば、Webサーバ上のプログラムがプロキシサーバーによって呼び出されます。sleepによる待ち時間がないため、呼び出されたプログラムは非常に短い時間で何回も実行されることとなります。これにより、カウンタ等の排他処理が必要なプログラム、Webサーバーの性能等におおよその評価を与えることができます。外部プロキシはCyberSyndrome等から集めてきましょう。外部プロキシからのレスポンスが遅くても、外部プロキシによってプログラムが呼び出されるので、上のバッチファイルを終了させても、サーバ上にあるプログラムは外部プロキシにプログラムの結果をリクエストした回数だけ実行されることになります。