[Python] saluti e prima domanda sulle list comprhension
Java
quilospam a email.it
Dom 27 Gen 2008 17:34:59 CET
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
More information about the Python
mailing list