綾小路龍之介の素人思考

wgetのメモ

wgetを使うときのメモです。巨大アーカイブをダウンロードするときにレジューム機能、保存ファイル名を変えたい場合、等。

目次

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/
  1. http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16430
  2. 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等から集めてきましょう。外部プロキシからのレスポンスが遅くても、外部プロキシによってプログラムが呼び出されるので、上のバッチファイルを終了させても、サーバ上にあるプログラムは外部プロキシにプログラムの結果をリクエストした回数だけ実行されることになります。

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2003-10-05T15:15:22+09:00
  2. Modified: 2003-10-05T07:01:54+09:00
  3. Generated: 2017-07-05T23:09:19+09:00