Ho un file con più di 160.000 url, di cui pagine voglio racimolare alcune informazioni. Lo script ha un aspetto approssimativo:Scrape 160.000 pagine - troppo lento
htmlfile = urllib2.urlopen(line)
htmltext = htmlfile.read()
regexName = '"></a>(.+?)</dd><dt>'
patternName = re.compile(regexName)
name = re.findall(patternName,htmltext)
if name:
text = name[0]
else:
text = 'unknown'
nf.write(text)
Che funziona, ma molto, molto lento. Ci vorranno più di quattro giorni per racimolare tutte le 160.000 pagine. Qualche suggerimento per accelerarlo?
Utilizzare il multithreading o un asincrono libreria di richieste HTTP come [grequests] (https://github.com/kennethreitz/grequests) – Blender
Oppure utilizzare Scrappy. http://scrapy.org/ – Darek
Grazie per i tuoi suggerimenti, ma non ho idea di come usare grequetsts o scrapy. Sono un grande principiante di Python ... – ticktack