Q. wget で HTTP や FTP 経由で再帰的にファイルを取得したいのですが。
A. HTTP や anonymous FTP の場合は、それぞれ
wget -m -np http://host/dir/
wget -m ftp://host/dir/
でできます。
HTTP では、http://host/robots.txt に探索を排除する記述があると、
ファイルを再帰的には取得できません。
また、 wget は HTML の OBJECT 要素、CITE 属性、LONGDESC 属性、
USEMAP 属性、PROFILE 属性、スクリプトなどに対応しておらず、
これらで参照されるファイルは取得できません。スタイルシートへの
対応も不完全です。
普通の FTP で、例えば ~/dir 以下を取得したい場合、
wget -m ftp://user:pass@host/dir/
とします。
普通の FTP で、ホームディレクトリ以外、例えば /dir 以下を取得したい
場合は、絶対パスで、
wget -m ftp://user:pass@host/%2Fdir/
と書きます。 %2F はルートディレクトリを表すスラッシュを URL エンコード
したものです。スラッシュをエンコードせずに、
wget -m ftp://user:pass@host//dir/
としても同じ結果が得られますが、これは RFC 的に正しくありません。
(従って wget 以外に応用しようとするとうまくいかない可能性があります)。
一般的な URL の書式については RFC2396 を、HTTP URL や FTP URL の
解釈については RFC1738 を参照してください。
host というディレクトリを掘られたくなければ、-nH を、home/user/ と
いったディレクトリを掘られたくなければ、--cut-dirs=2 を追加すれば
よいでしょう。
wget には多くのオプションがありますので、詳しくは wget --help や
info wget などとしてください。
グループ名: rfc