[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
-
ローカル側ディレクトリーへの反映を部分的にする。
|
(再帰的取得)
- -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