web-dev-qa-db-ja.com

wgetを使用したサブフォルダーの再帰的ダウンロード--- no-parentは明らかに機能していません

XULに関するドキュメントが必要ですが、ほとんどの場合インターネットにアクセスできません。だから、私は次のコマンドで Mozillaチュートリアル をダウンロードしようとしました:

wget --no-parent -r -l 2 -p -k https://developer.mozilla.org/en/XUL_Tutorial

私の意図は、https://developer.mozilla.org/en/XUL_Tutorialページとそのサブページ(たとえば、https://developer.mozilla.org/en/XUL_Tutorial/Install_Scripts)の両方をダウンロードすることでした。ただし、--no-parentフラグを渡しても、https://developer.mozilla.org/index.php?title=Special:Userlogin&returntotitle=en%2FXUL+Tutorial%2FInstall+Scriptsなどのページが取得され続けます。

なぜそれが起こるのか分かりません。意図した動作をどのように達成できますか?

4
brandizzi

それを機能させるには、gzip圧縮を無効にする必要がありました。一部のページでwgetが禁止されているため、ユーザーエージェントも変更しました。だからこれは私が私の.wgetrcに入れたものです:

ヘッダー= Accept-エンコーディング:なし

user_agent = Mozilla/5.0(Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6)Gecko/20070725 Firefox/2.0.0.6

ここでうまく機能します。

1
Julian Ziegler

URLの末尾にスラッシュが必要です。

13
Dyax

同様の問題がありました:

wget -r -l1 --no-parent -nH "https://www.website.com/parent/directory/"

httpshttpに問題があったと思います。更新しました$HOME/.wgetrc to:

header = Accept-Encoding: none
header = Accept-Language: en-us,en;q=0.5
header = Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
header = Connection: keep-alive
user_agent = Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
referer = http://www.google.com/
robots = off

次に、変更されたhttpshttpに変更しました。

wget -r -l1 --no-parent -nH "http://www.website.com/parent/directory/"

wgetプログラムは、指定されたディレクトリ階層の外部からフォルダを作成(またはファイルを取得)しなくなりました。

1
Dave Jarvis