Faça o download recursivamente com o wget

32

Estou com um problema com o seguinte comando wget:

wget -nd -r -l 10 http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

Ele deve baixar recursivamente todos os documentos vinculados na Web original, mas baixa apenas dois arquivos ( index.htmle robots.txt).

Como posso obter o download recursivo desta web?

xralf
fonte

Respostas:

40

wgetpor padrão, honra o padrão robots.txt para rastrear páginas, assim como os mecanismos de pesquisa, e para archive.org, ele não permite todo o subdiretório / web /. Para substituir, use -e robots=off,

wget -nd -r -l 10 -e robots=off http://web.archive.org/web/20110726051510/http://feedparser.org/docs/
Ulrich Schwarz
fonte
Obrigado. Existe alguma opção para armazenar todos os links apenas uma vez? Talvez eu deva diminuir 10para um número menor, mas é difícil de adivinhar. Agora há um arquivo introduction.html, introduction.html.1, introduction.html.2e eu, em vez terminado o processo.
Xralf
E os links estão direcionando para a web. É a --mirroropção para os links direcionarem para o sistema de arquivos?
xralf
1
@xralf: bem, você está usando -nd, então diferentes index.htmls são colocados no mesmo diretório e -k, sem , você não poderá reescrever os links.
Ulrich Schwarz
12
$ wget --random-wait -r -p -e robots=off -U Mozilla \
    http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

Transfere recursivamente o conteúdo do URL.

--random-wait - wait between 0.5 to 1.5 seconds between requests.
-r - turn on recursive retrieving.
-e robots=off - ignore robots.txt.
-U Mozilla - set the "User-Agent" header to "Mozilla". Though a better choice is a real User-Agent like "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)".

Algumas outras opções úteis são:

--limit-rate=20k - limits download speed to 20kbps.
-o logfile.txt - log the downloads.
-l 0 - remove recursion depth (which is 5 by default).
--wait=1h - be sneaky, download one file every hour.
Nikhil Mulley
fonte
-l 0 - remove recursion depth (which is 5 by default)+1
Dani