El for tiene un detalle que no pude encontrar, incluso tomé el código y lo modifiqué un poco para que sea más "pythónico" pero tuve problemas para hacer funcionar el for. Debo admitir que tampoco es que lo haya investigado demasiado
Hay otro problema menor y es que la variable url de la línea 17 no existe. No importa, con los cambios que te propongo ya no será un problema:
1.
Código Python:
Ver originalfor i in range(len(lista)):
sock = urllib.urlopen(lista[i])
cambia por
Código Python:
Ver originalfor url in lista:
sock = urllib.urlopen(url)
2.
Código Python:
Ver originalfor counter, img in enumerate(soup.findAll('img')):
cambia por
3.
Código Python:
Ver originallocal = open((img['src'].split("/")[-1]), "wb")
cambia por
Código Python:
Ver originallocal = open(os.path.basename(img['src']), "wb")
(tendrás que importar el módulo os para que este último funcione)
Saludos.