wgetでno-parentが効かない
wgetでno-parentが効かないという現象がありました。
例えば
http://www.example.com/foo/baa
以下をwgetで再帰的に取得したい。まぁ大体こういうページには「トップへ」とか、ブレッドクラムなんかがあるので単純に
# wget --mirror http://www.example.com/foo/baa
とやると結局はリンクをたどってwww.example.comのページを全部とってきてしまいます*1。
そこで--no-parentを指定してその階層以下だけを取得。
# wget --recursive --no-remove-listing --no-parent http://www.example.com/foo/baa
ところがこれが期待に外れて親の階層までとりにいく。なぜだーとしらべることしばし。最後に/をつけなきゃダメよとのこと。
# wget --recursive --no-remove-listing --no-parent http://www.example.com/foo/baa/
これで期待通りの動作をしてくれました。
*1:外部リンクもあればそこもとってきてしまう