[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

3. 再帰的なダウンロード

GNU Wgetは,Web(または,単一のHTTPFTPサーバ)の部分を,リン クとディレクトリ構造をたどりながら渡り歩くことができます.これは再 帰的な回収(recursive retrieval),または再帰(recursion)と呼ばれま す.

HTTP URLを用いると,Wgetは与えられたURLすなわちドキュメ ントから得たHTMLを,hrefsrcのようなマークアップを 通じて,HTMLドキュメントが参照しているファイルを回収しながら,回収 と解析を行ないます.新たにダウンロードされたファイルもtext/html 形式やapplication/xhtml+xml形式の場合も,それは解析され更に続け ます.

HTTPの再帰的な回収とHTMLの内容はbreadth-firstです.これ は,要求されたHTMLドキュメントをWgetが最初に,その後でドキュメント がリンクしているドキュメントを,そして更にそれがリンクしているドキュメ ントというようにダウンロードすることを意味します.言い替えると,Wget は 最初に深さ1のドキュメントをダウンロードし,それから深さ2のものというよ うにして最大深度で指定されたものまでダウンロードするということです.

回収が下降する最大の深度(depth)は,`-l'オプションで指定され ます.デフォルトの最大深度は5階層です.

FTP URLを再帰的に回収するとき,Wgetはリモートサーバの与えられ た(指定された深度以上のサブディレクトリを含め)ディレクトリツリーから, 全てのデータを回収し,ローカルにミラーイメージを作成します.FTPの 回収もdepthパラメータで制限されます.HTTPの再帰と異なり, FTPの再帰は最初の深度で実行されます.

デフォルトで,Wgetはローカルディレクトリツリーを作成し,それはリモート サーバで見つかったものに対応しています.

再帰的回収は複数の応用が可能で,最も重要なものはミラーです.それは, WWWの公開と,その他の状況として,ネットワーク接続が遅いところでファ イルをローカルに保存することでバイパスすることで役に立ちます.

再帰呼び出しはネットワークを通じたデータの高速転送になるため,システム の過負荷を起こす可能性があることを警告します.このため,管理者の多くは それに難色を示していて,大量の内容物を高速にダウンロードしているのを検 出した場合,あなたのサイトからのアクセスを禁止するかもしれません. Internetサーバからダウンロードしている時,サーバへのアクセスの間の遅延 を導入するため,`-w'オプションを使用することを考慮に入れてしてくだ さい.ダウンロードにはより長い時間がかかりますが,サーバ管理者はあなた の無礼には心配しなくなるでしょう.

もちろん,再帰的なダウンロードは自分のマシンにも問題を発生するかもしれ ません.調査無しで実行したままにする場合,ディスクが簡単にいっぱいにな るはずです.ローカルのネットワークからのダウンロードの場合,メモリと CPUの消費と同様に,システムの帯域幅にも注意すべきです.

ダウンロードを達成するような試みに適した基準を指定してみてください.1 ページのみダウンロードしたい場合,あらゆる再帰を追加すること無く `--page-requisites'を使用してください.一つのディレクトリ以下をダ ウンロードしたい場合,他のディレクトリからダウンロードすることを避ける ため`-np'を使用してください.一つのディレクトリの全てのファイルを ダウンロードしたい場合,再帰深度が超過しないことを確実にするため `-l 1'を使用してください.これについての詳細はSee section リンクの追跡.

再帰的な回収は注意して使用すべきです.警告しなかったとは言わせません.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Akihiro Sagawa on August, 17 2005 using texi2html 1.70.