Usando o Wget para baixar arquivos com um nome específico de um site

0

Qual seria a melhor maneira de analisar um domínio de nível superior e todas as subpastas de ocorrências de determinadas combinações de letras numéricas?

Eu tenho várias pastas com grandes listas de imagens e só preciso obtê-las com ocorrências de determinados números. Ou seja: 282 ou 191

pontos de bônus se você puder me dizer como filtrar um tamanho mínimo, por isso não estou baixando miniaturas junto com fotos com resolução mais alta.

    
por spaceleviathan 02.06.2015 / 06:42

1 resposta

0

Isso rastreará um site em busca de gif, png, jpg, jpeg e, em seguida, aplicará esses resultados a todas as strings. A lista resultante é então recuperada para o diretório especificado por wget. Você precisa ajustar '/ path / to / save / files', assim como a URL para pegar os arquivos.

Ajuste a declaração final do grep para definir seus parâmetros de pesquisa. Seria:

grep "191\|282" --instead of-- grep "taco.gif\|whatever"

Nota: Se você adicionar ou remover qualquer tipo de arquivo, modifique os parâmetros -A flag e o último grep de acordo.

wget -P /path/to/save/files/ $(wget --spider --execute robots=off \
--user-agent="Mozilla/5.0 Firefox4.0.1" --no-clobber --random-wait --force-html \
--recursive --no-directories -A gif,png,jpg,jpeg http://taco.com 2>&1 | grep -e \
'http\|Length\|broken link' | awk -F' ' '{ print $3 }' | sed '$!N;s/\n/ /' | grep \
'.gif\|.png\|.jpg\|.jpeg' | tr -d '()' | sed '/does$/d' | sort -k2 | \
grep "taco.gif\|whatever")

Observação: isso não funcionará em muitos sites, pois a maioria dos administradores bloqueia o wget e tem scripts para bloquear os rastreadores, mas funciona bem no taco.com.

Ainda não experimentei, mas esse plug-in de download em lote pode funcionar melhor. link

    
por 02.06.2015 / 12:07

Tags