Salve a tutti, sono nuovo di questa mailing list e del pythone più in generale!
Prima di fare la domanda, preannuncio che mi sono occupato di questa cosa per un paio di giorni, e che essendo completamente niubbo con il python potrei aver fatto qualche cavolata :-D Veniamo alla nota dolente, devo fare un progetto per l'università(costruire una rete sociale di video di youtube) che comporta anche la scrittura di un piccolo crawler. Ho pensato di usare python sostanzialmente perché non lo conoscevo, e così approfitto dell'esame per imparare un nuovo linguaggio... Senza entrare troppo nei dettagli, ho fatto un thread che si occupa di fare il crawling di una pagina iterando per in base alla profondità di crawling. Cioè se questa è 1 "parso" (ARGH!) solo la pagina iniziale, se vale 2 parso anche tutti i link in essa e così via... ecco il codice: def run ( self ): # lista temporanea temp = [] # all'inizio la lista results contine l'url iniziale results = [self.start_url] #cast della profondita' in intero poiché la leggo da input p = int(self.profondita) # finche' la profondita' e' maggiore di zero, intero sulla lista temp eseguendo il # parsing degli url trovati in essa while(p > 0): print "Thread lanciato con profondita: ", p # copio i risultati attuali dentro la lista temp # all'inizio conterrà solo un url temp = results print "ecco la lista TEMP:" print temp [results.extend(self.parseUrl(video)) for video in temp] print "finito ciclo while \n\n\n" # qua non ci arrivo mai :-( p-=1 il problema è che in ogni caso non esce mai dalla list comphrension, eppure la lista temp contiene un solo url! In pratica continua a ciclare come se ogni volta eseguisse temp = results, ma non capisco il perché... qualche idea? --Segolas _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python