quarta-feira, 24 de maio de 2017

Fazendo Download de uma estrutura de diretórios inteira em páginas com o wget

 Suponha que deseja baixar o diretório diretorio2 no site

http://site.com/diretorio1/diretorio2


Se simplesmente utilizarmos a opção de download recursivo (junto com -c que continua eventuais downloads interrompidos, claro)

  • wget -cr http://site.com/diretorio1/diretorio2,

obteremos a seguinte estrutura de diretórios dentro do diretório em que o comando foi invocado:

"http://site.com/diretorio1/diretorio2"


Provavelmente, gostaríamos de obter apenas o diretorio2, não é mesmo?


Para isto, precisamos utilizar as opções -nH e -cut-dir.
A opção -nH vai nos livrar de "http://site.com/", enquanto que cut-dir informa partir de que nível de diretório deve-se baixar a partir do site.
Assim, o comando a ser dado é
  • wget -cr -nH --cut-dir=2 http://site.com/diretorio1/diretorio2 ,
e obteremos apenas o diretorio2 na nossa estrutura de diretórios.

Pode ocorrer de dentro do diretorio2 haver uma árvore de diretórios com profundidade maior do que 5 ramos, e neste caso, ramos adicionais não serão baixados.
Para contornar este problema, incluimos a opção -l [número de ramos].
Assim, o nosso comando fica:
  • wget -cr -l 7 -nH -cut-dir=2 http://site.com/diretorio1/diretorio2
No exemplo, foram utilizados 7 ramos.

Fonte: Manual do wget (man wget)