Faça o download do conteúdo de uma determinada div usando o wget

3

Estou tentando baixar todas as imagens de uma certa galeria do ImageBam. Eu tentei fazer isso:

wget -P pics -H -nd -r -A '.jpg,.jpeg,.png,.gif,' -erobots=off http://www.imagebam.com/gallery/hwtfu6m7es3gun1emmpy2uheohrcckmt/

Mas baixou todo o site; tudo que preciso é o conteúdo de um certo <div> , que inclui miniaturas e imagens originais. É possível criar um script para baixar conteúdo de um <div> e não de todo o site?

    
por user29200 23.12.2012 / 23:49

1 resposta

2

O problema é difícil porque as imagens completas não estão na árvore do pai, por isso é difícil distinguir esses caminhos dos outros no site. Além disso, os links para as imagens completas são, na verdade, links para páginas, nas quais a imagem com resolução total é incorporada. Pode haver uma solução mais elegante, mas aqui está uma maneira de fazer isso funcionar.

#!/bin/bash
wget -np http://www.imagebam.com/gallery/hwtfu6m7es3gun1emmpy2uheohrcckmt/
grep HTML-Code index.html > html_code
grep -E -o 'http://thumbnails[^"]+' html_code > thumb_urls
grep -E -o 'http://www[^"]+' html_code > image_pages
wget -i thumb_urls
wget -P image_pages_dir -i image_pages
for file in image_pages_dir/*
do
    echo $file
    grep -m 1 -o -E 'http://.*jpg' $file >> full_image_urls
done
wget -i full_image_urls
    
por 24.12.2012 / 00:35

Tags