Mam plik z ponad 160.000 adresów URL, z których stron chcę skrobać niektóre informacje. Skrypt wygląda mniej więcej tak:Scrape 160.000 stron - zbyt wolny
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)
Który działa, ale bardzo, bardzo wolno. Zgarnianie wszystkich 160 000 stron zajęłoby więcej niż cztery dni. Jakieś sugestie, aby to przyspieszyć?
Wykorzystanie wielowątkowości lub asynchroniczne żądania HTTP biblioteki jak [grequests] (https://github.com/kennethreitz/grequests) – Blender
Albo użyć Scrappy. http://scrapy.org/ – Darek
Dzięki za sugestie, ale nie mam pojęcia, jak korzystać z grecksts lub scrapy. Jestem wielkim początkującym pytonem ... – ticktack