Desde pequeno aprendi com Jaiminho à evitar a fadiga. Faz bem para a saúde.

Foi assim que resolvi desenvolver um script para baixar imagens de sites. Várias vezes gastei meu dedo, clicando com o botão direito do mouse sobre imagens e mais imagens e escolhendo “salvar como”. Agora, com o script, basta apenas informar a url da página com as imagens e todo o trabalho é feito em alguns segundos (ou minutos, dependendo do tamanho da imagem):

import urllib
import re

for img in re.findall("<img .*?src=\"(.+?)\"", urllib.urlopen("http://www.uol.com.br").read()):
    arq_imagem = open(img[img.rfind('/') + 1:], 'wb')
    arq_imagem.write(urllib.urlopen(img).read())
    arq_imagem.close()

O legal é que o código acima pode facilmente ser convertido para baixar imagens de toda uma galeria. Por exemplo, imagine um site onde a galeria siga um padrão para urls como este:

www.exemplo.com.br/galerias/0001/imagens.html

Para baixar, por exemplo, as 100 primeiras galerias:

import urllib
import re

for galeria in range(100):
    url = "http://www.exemplo.com.br/galerias/" + ("%04d" % (galeria + 1)) + "/imagens.html"

    for img in re.findall("<img .*?src=\"(.+?)\"", urllib.urlopen(url).read()):
        arq_imagem = open(img[img.rfind('/') + 1:], 'wb')
        arq_imagem.write(urllib.urlopen(img).read())
        arq_imagem.close()

    galeria += 1