[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

3. 再帰的な回収

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=wget-ja&node=Recursive+Retrieval"
"wget/再帰的な回収"へのコメント(無し)

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

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

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

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

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

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

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

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

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

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

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


[ << ] [ >> ]           [表紙] [目次] [索引] [検索] [上端 / 下端] [?]