Download ricorsivo della sottocartella con wget - apparentemente il non genitore non funziona


3

Ho bisogno di documentazione su XUL ma non ho accesso a Internet per la maggior parte del tempo. Quindi, ho provato a scaricare il Mozilla Tutorial con il seguente comando:

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

La mia intenzione era di scaricare sia la https://developer.mozilla.org/en/XUL_Tutorialpagina che le sue sottopagine (ad esempio, https://developer.mozilla.org/en/XUL_Tutorial/Install_Scripts). Tuttavia, anche se ho passato la --no-parentbandiera, continua a ricevere pagine come https://developer.mozilla.org/index.php?title=Special:Userlogin&returntotitle=en%2FXUL+Tutorial%2FInstall+Scripts.

Non capisco perché accada. Come potrei ottenere il comportamento che intendevo?

Risposte:


1

Ho dovuto disabilitare la compressione gzip per farlo funzionare. Ho anche cambiato l'agente utente perché alcune pagine vietano wget. Quindi questo è quello che ho inserito nel mio .wgetrc:

header = Accept-Encoding: nessuno

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

Funziona benissimo qui.


9

È necessaria la barra finale alla fine dell'URL.


Ho provato wget --no-parent -r -l 2 -p -k https://developer.mozilla.org/en/XUL_Tutorial/ma scarica solo il index.htmlfile ...
brandizzi

quello era il mio problema! probabilmente comune tra i principianti di wget
John Berryman,

it only download the index.html fileQuesto perché stavi usando l 2. Dal momento che non hai modificato la risposta accettata, suppongo che non abbia mai aumentato il livello di ricorsione per rendersi conto che questa è la migliore risposta alla domanda come era stata posta.
Synetech,

Questa è la risposta corretta alla domanda. Confermato.
Johannes Overmann,

1

Stava avendo un problema simile:

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

Credo che ci fosse un problema con il httpsvs. http. Ho aggiornato $HOME/.wgetrca:

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

Quindi modificato modificato httpsin http:

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

Il wgetprogramma non ha più creato cartelle (o file recuperati) dall'esterno della gerarchia di directory specificata.


L'ho provato e sembra funzionare perfettamente. In attesa della fine del download (che in realtà non mi serve più) per essere sicuro :) Tuttavia, non sono cambiato in HTTP - voglio dire, ho cambiato, ma ha continuato a reindirizzare a HTTPS. Sai perché .wgetrcsembra che tu stia cambiando il comportamento?
brandizzi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.