Tema: Crawler
Ver Mensaje Individual
  #22 (permalink)  
Antiguo 23/02/2011, 09:33
Ricrever
 
Fecha de Ingreso: febrero-2011
Ubicación: Tarragona, España
Mensajes: 51
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Crawler

Bien amigos,he seguido trabjando con mi crawler, y ahora tengo un pequeño problema, resulta que tengo una lista de url separadas por una coma, es decir:
['http://www.pagina1.com/','http://www.pagina2.com/'] lo que quiero es recorrer esta lista y coger cada url y descargarme las imagenes, como el paso anterior.
Tengo el siguiente codigo, pero no me rula y no puedo entender porque!!!!

Código Python:
Ver original
  1. nom_archiu = raw_input('introducir el archivo .txt: ')
  2. f = open (nom_archiu)
  3. datos = f.read()
  4.  
  5. lista = string.split(datos)
  6. print lista
  7.  
  8. for i in range(len(lista)):
  9.     sock = urllib.urlopen(lista[i])
  10.     data = sock.read()
  11.     sock.close()
  12.     soup = BeautifulSoup(data)
  13.     for counter, img in enumerate(soup.findAll('img')):
  14.         if img['src'].startswith("http://"):
  15.             ipath = img['src']
  16.         else:
  17.             ipath = url + img['src']
  18.    
  19.         try:
  20.             local = open((img['src'].split("/")[-1]), "wb")
  21.             internet = urllib.urlopen(ipath)
  22.         except IOError:
  23.             continue
  24.        
  25.         data = internet.read()
  26.         local.write(data)
  27.  
  28.         internet.close()
  29.         local.close()

creo que el error esta en el if, he debugado el codigo y cuando llega al if me peta el program, pero no entiendo porque....
igual es que al coger el elemento de la lista me lo coge como un string i no como una url, nolose... o igual es culpa del segundo for que no lo cierro bien.... llevo varias horas dandole al tema...
me gustaria mucho vustra ayuda amigos!!!!

gracias de antemano!!!

Última edición por Ricrever; 23/02/2011 a las 09:54