[PR]今日のニュースは
「Infoseek モバイル」

[Home]

wget

wgetは、非対話で、Web(http,ftp)のデータを一括取得するための ツールです。

GNU GENERAL PUBLIC LICENSE のソフトウエアです。
ソースファイルを ftp://prep.ai.mit.edu/pub/gnu/ や、そのミラーサイト から入手してコンパイル可能です。

Win* 用にコンパイルしたバイナリを用意しました。(wget153_win32.lzh 113,334 Byte)


※2004/8/9 追記
このページを作成した時点では、cygwin などのフリーのコンパイラ環境での安定度も低く、知人に紹介するのにcygwin 等まで、インストールをしてもらうのは、難しい状況でもあり、MSのコンパイラで実行ファイルを作成しています。

現在は、各種GNUツールをWin*上で稼動させるに十分な環境ですので、上記バイナリは 不要と思われます。
たとえば、wget のみ実行したければ、下記のGnuWin32プロジェクトのものなどを 利用するのがよいと思います。
バージョンも新しくなっていて、たとえば、https:〜 など SSLのコンテンツも 取得できます。
Wget for Windows -- GnuWin32 Packages -- GnuWin32


※2004/10/11 追記
具体的には 上記のwgetのページで
http://gnuwin32.sourceforge.net/packages/wget.htm
Binaries: のところの Setup をクリックするとsourceforge の ダウンロードのページに移動します。
そのページで、一覧される右側のダウンロードのアイコンを クリックするとダウンロードが開始されます。
しばらくまっても、ダウンロードが開始されないときは、 ページの上の方にでてくる、
Your download should begin shortly. If it does not, try
http://〜〜〜〜〜
のURLからダウンロードしなおしてください。

ここに書いた情報は、ドキュメントの翻訳ではありません。 私が実際に使ったりした内容やソース添付ドキュメントを私の理解の範囲で 簡単にまとめたものです。(一部、原文のまま、転載してます。)
正確な情報は、ソースファイルを入手して、添付のドキュメントを参照して ください。




【コマンド構文】

wget [OPTION]... [URL]...

【構文サンプル】

(1)URLをコマンドラインで指定
    >wget http://127.0.0.1/sugi1.pdf http://127.0.0.1/sugi2.pdf

sugi1.pdf , sugi2.pdf がカレントディレクトリーに保管されます。 処理状況は、STDERR に出力されます。

(2)URLをローカルに記述したファイルから取得
    >wget -i get.txt
sugi1.pdf , sugi2.pdf がカレントディレクトリーに保管されます。 処理状況は、STDERR に出力されます。
----------------------------------------------------[ Top of "get.txt" ]
http://127.0.0.1/sugi1.pdf
http://127.0.0.1/sugi2.pdf
-------------------------------------------------[ Bottom of "get.txt" ]
(3)指定したURLから再帰的にドキュメントを取得
    >wget -r http://127.0.0.1/a.html
sugi1.pdf , sugi2.pdf が ./127.0.0.1/ に保管されます。 処理状況は、STDERR に出力されます。 ※この例のhtmlドキュメントでは、他のhtmlドキュメントにリンク  していないので、余分なファイルは取得しませんが、再帰的処理  に制限をかけるオプションを同時に指定するのが実際的な利用方  法となります。
------------------------------------[ Top of "http://127.0.0.1/a.html" ]
<html>
<head><title>title</title></head>
<body>
<a href="sugi1.pdf">sugi1</a>
<a href="sugi2.pdf">sugi2</a>
</body>
</html>
---------------------------------[ Bottom of "http://127.0.0.1/a.html" ]

【設定ファイル】

設定ファイルに各種情報を初期設定しておくことができます。

共通設定(デフォルトは、 /usr/local/etc/wgetrc)をまず読み込み、 個別設定を環境変数 WGETRC が存在すればそのファイル、なければ $HOME/.wgetrc から読み込みます。
共通設定と個別設定で衝突があれば、個別設定が利用されます。 Win* では、共通設定は、wget.exeと同じディレクトリーに置いた wget.ini 、個別設定は、環境変数 WGETRC で指定したファイル となります。

設定ファイルでは、 # で始まる行や空行は無視されます。

proxy の内側の場合は、 proxy を指定しておけばよいでしょうし、 リトライ回数や再帰のときの深さなどのオプション無指定のときの デフォルトがあるものも、ここで自分の好みに調整できます。

オプションごとの説明でそれぞれの末尾の[Wgetrc]が、設定ファイル での書き方です。

【オプション一覧】

(スタートアップ)
-V, --version
Wget のバージョンを表示します。
-h, --help
オプションの一覧の簡単なヘルプを表示します。
-b, --background
バックグランドで実行します。
-e COMMAND, --execute=COMMAND
設定ファイルの指定をコマンドラインから指定します。
(ログの取得)
-o LOGFILE, --output-file=LOGFILE
ログをファイルに書き込みます。(上書き)
-a LOGFILE, --append-output=LOGFILE
ログをファイルに書き込みます。(追加)
-d, --debug
出力するログを debug 用の内容にします。
-q, --quiet
ログ出力(状況表示)をしません。
-v, --verbose
詳細なログ出力(状況表示)をします。(デフォルト)
-nv, --non-verbose
簡単なログ出力(状況表示)をします。


(ダウンロード)
-t NUMBER, --tries=NUMBER
試行回数の指定
-O FILE, --output-document=FILE
取得した結果を FILE で指定したファイルにまとめて書き込む。
-nc, --no-clobber
既に取得ずみのファイルがあれば、改めてサーバーから取得し
-c, --continue
一部取得済みファイルの継続処理
--dot-style=STYLE
ログの進行表示の指定
-N, --timestamping
タイムスタンプでダウンロードの要否を判断する。
-S, --server-response
サーバーの応答ヘッダーをログへ出力
--spider
実際のファイルの取得は行わずチェックのみする。
-T SECONDS, --timeout=SECONDS
set the read timeout to SECONDS.
-w SECONDS, --wait=SECONDS
個々のファイルの取得の間で、指定した秒数 wait する。
-Y, --proxy=on/off
proxy の指定を(有効/無効)にする
-Q QUOTA, --quota=QUOTA
取得総容量サイズの上限を設定する。
(URLのローカルファイルでの指定)
-i FILE, --input-file=FILE
URLをローカルのファイルから指定する。
-F, --force-html
-i で指定したファイルをHTMLとして取り扱う。
(ローカル側ディレクトリーの指定)
-nd --no-directories
ローカル側にディレクトリー階層を作らない
-x, --force-directories
ローカル側にディレクトリー階層を作る
-nH, --no-host-directories
ローカル側ディレクトリーからhost名をはずす。
-P PREFIX, --directory-prefix=PREFIX
ローカル側ディレクトリーを指定した場所から始める
--cut-dirs=NUMBER
ローカル側ディレクトリーへの反映を部分的にする。


(HTTP関連オプション)
--http-user=USER, --http-passwd=PASS
サーバーへの認証
-C on/off, --cache=on/off
(dis)allow server-cached data (normally allowed).
--ignore-length
ignore `Content-Length' header field.
--header=STRING
追加の要求ヘッダーを指定する。
--proxy-user=USER, --proxy-passwd=PASS
proxyサーバーへの認証
-s, --save-headers
応答ヘッダーをローカル側の取得ファイルの先頭に書き出す
-U AGENT-STRING, --user-agent=AGENT-STRING
User-Agent要求ヘッダーを指定する。
(FTP関連オプション)
--retr-symlinks
retrieve FTP symbolic links.
-g, --glob=on/off
turn file name globbing on or off.
--passive-ftp
use the "passive" transfer mode.


(再帰的取得)
-r, --recursive
再帰的なファイルの取得を行う。
-l DEPTH, --level=DEPTH
リンクをたどる階層数を指定します。
--delete-after
取得した各ファイルを直後に削除します。
-k, --convert-links
取得時にの絶対指定のリンクを相対指定に書き換える
-m, --mirror
ミラーリングをする。
-nr, --dont-remove-listing
don't remove `.listing' files.
(再帰的取得での対象の選択)
-A LIST, --accept=LIST
取得対象の拡張子の指定
-R LIST, --reject=LIST
取得対象外とする拡張子の指定
-I LIST, --include-directories=LIST
取得対象のディレクトリーの指定
-X LIST, --exclude-directories=LIST
取得対象外とするディレクトリーの指定
-np, --no-parent
親ディレクトリーへの参照はしない。
-L, --relative
相対リンクだけを追いかける。
-H, --span-hosts
hostをまたいで再帰的取得をする。
-D LIST, --domains=LIST
取得対象のドメインの指定
--exclude-domains=LIST
取得対象外とするドメインの指定
--follow-ftp
HTMLドキュメントからのftpへのリンクを追跡します。
-nh, --no-host-lookup
don't DNS-lookup hosts.

【設定ファイルのみの指定】

オプションでも指定可能なものの設定ファイルでの書き方は、 オプションごとの説明内に、
  [Wgetrc] exclude_domains = LIST
のように示しました。
login = STRING
FTP のユーザー名を指定します。
デフォルトは、 anonymous
passwd = STRING
FTP のパスワードを指定します。
デフォルトは、 username@hostname.domainname だそうですが、WIN* の場合、そういう事はやってくれないと 思うので、 anonymous 用のやつを自分用に指定しておくほう がよいでしょうか?



http_proxy = STRING
HTTP用のproxyサーバーを指定します。
設定ファイルに指定がない場合、環境変数 http_proxy が定義 されていれば、それを利用します。
ftp_proxy = STRING
FTP用のproxyサーバーを指定します。
設定ファイルに指定がない場合、環境変数 ftp_proxy が定義 されていれば、それを利用します。
no_proxy = LIST
proxyが定義されている場合でも、proxyを経由せずにアクセス したい、ドメイン名を書きます。 設定ファイルに指定がない場合、環境変数 no_proxy が定義 されていれば、それを利用します。



dot_bytes = N
Specify the number of bytes "contained" in a dot, as seen throughout the retrieval (1024 by default). You can postfix the value with `k' or `m', representing kilobytes and megabytes, respectively. With dot settings you can tailor the dot retrieval to suit your needs, or you can use the predefined "styles" (*Note Download Options::).
dots_in_line = N
Specify the number of dots that will be printed in each line throughout the retrieval (50 by default).
dot_spacing = N
Specify the number of dots in a single cluster (10 by default).
kill_longer = on/off
Consider data longer than specified in content-length header as invalid (and retry getting it). The default behaviour is to save as much data as there is, provided there is more than or equal to the value in `Content-Length'.
netrc = on/off
Turn reading netrc on or off.
robots = on/off
Use (or not) `/robots.txt' file (*Note Robots::). Be sure to know what you are doing before changing the default (which is `on').

(Mail) sugimoto@bp.iij4u.or.jp