Meu acesso ao diretório mysite.com/img/ está bloqueado.
No entanto, todas as imagens nesse diretório estão no formato n.jpg
em que n é a enésima imagem.
Meu acesso a mysite.com/img/n.jpg
não está bloqueado
Existe alguma maneira de salvar as imagens 1-500 ( mysite.com/img/1.jpg
to mysite.com/img/500.jpg
)?
Estou usando o Ubuntu 11.10
Responder1
A solução mais fácil é provavelmente usar expansões de chaves do bash
wget http://mysite.com/img/{1..500}.jpg
Existe também a opção de fazer um loop, permitindo esperar um pouco entre cada solicitação.
for n in $(seq 1 500); do
wget http://mysite.com/img/${n}.jpg
sleep 0.1
done
(O acima pode ser executado diretamente no shell.)
Responder2
Há também outra maneira de fazer isso wget
que usei com sucesso para um site, e você poderá modificar as instruções abaixo para outros sites. Envolve gerar uma lista de URLs e, em seguida, alimentar essa lista para wget
.
1) Por exemplo, digamos que você deseja baixar todas as 63 revistas em PDF deRevista Círculo Completo(uma revista do Ubuntu), mas seu gerenciador de download não pode baixá-los todos de uma vez. Então encontre olinkdo primeiro arquivo pdf e verifique rapidamente se os links das demais revistas estão no mesmo formato de url.
2) Com o conhecimento adquirido na parte 1, podemos agora recorrer ao nosso script para gerar as urls. O script abaixo executa um loop até, que modifiquei (crédito ao seu criador). Você modifica este script colocando o número de revistas na until [ $i = 63 ]
parte e colocando o URL correto depois echo
e certificando-se de que "$i"
está na parte correta do URL a ser ecoado para que ele mude a cada execução do loop. Os URLs são gerados e anexados a um arquivo de texto – isso acontece em uma fração de segundo quando o script é executado e não é tão complicado de configurar quanto parece!
Salve o script em um editor de texto, torne-o executável e execute-o; modifique-o conforme descrito acima quando quiser fazer download de umdiferentesite do que meu exemplo.
#!/bin/bash
i=0
until [ $i = 63 ] ; do
i=$(($i+1))
echo "http://dl.fullcirclemagazine.org/issue"$i"_en.pdf" >> url.txt
done
3) Por fim, supondo que url.txt
esteja no diretório de trabalho atual, execute:
wget -i url.txt
Se você quiser salvar os downloads em outro lugar, adicione -P ~/MyDirectory
depoisurl.txt
Funciona - se você tentar, entre ctrl c
para abortar se não quiser baixar todos!