Opções do diretório do Wget

4

Eu li o manual do Wget, mas infelizmente isso não parece resolver o meu problema, então eu ficaria muito grato se alguém pudesse me oferecer um pouco de ajuda.

Temos um site, (digamos) website.com, com links diretos para (digamos) website.com/1/, website.com/2/, ... etc.

Agora, cada página website.com/r/, onde r é um número inteiro, vincula a vários documentos em PDF. Em vez de estarem localizados em website.com/r/doc-i.pdf - o que seria conveniente - todos eles estão localizados em website.com/files/doc-i.pdf.

Assim, quando eu executar o comando wget -r -l 2 -A pdf website.com , eu terminarei com uma pasta grande chamada "arquivos", com todos os documentos em pdf contidos nela.

Eu preferiria, no entanto, que eles fossem organizados em diferentes pastas chamadas 1, 2, ..., n, que correspondem à página da qual foram baixadas. Como vou baixar no total cerca de 10.000 arquivos pdf, eu prefiro não ter que fazer isso manualmente.

Então, como eu digo ao Wget para organizar os arquivos, não pela estrutura de diretórios do site, mas pela rota em que foram levados para chegar ao arquivo?

Espero que minha explicação seja clara e que isso não seja muito difícil de alcançar.

    
por user85798 23.09.2016 / 08:46

1 resposta

1

(não testado) O seguinte precisa de algum tunning, é apenas uma ideia geral:

### get level1
wget -r -l  website.com/      

#### for each html file otained,
for a in $(find website.com -name '*.html' )
do 
  ### get level 2 but prefix it with the base name
  b=$(basename $a)
  wget -P $b -r -l 1 -A pdf http://$a 
done
  • provavelmente o achado precisará de algum tunnig
  • talvez adicione algo como mv $b/website.com/files FINAL/$b para reduzir os níveis
por 23.09.2016 / 11:03

Tags