ich programmiere momentan an einem Python Script, das die Auflistung einer Website durchgeht und von jeder Seite dieser Auflistung die enthaltenen Links ausliest. Es sind circa 4000 Seiten mit 25 Links pro Seite also etwa 100.000 Links die ich speichern muss. Allerdings habe ich das Problem, dass nach circa 200 Seiten bereits die Performance so weit in die Brüche geht, das andere Programme einfrieren. Ich vermute einmal, ich habe irgendwo ein Detail übersehen, aber bin nicht in der Lage es auszumachen. In der Suche konnte leider ich nichts passendes finden. Ich hoffe jemand findet die Muse mich bei der Lösung zu unterstützen. Einen Beispiel Code wie das Programm aussieht, habe ich beigefügt.
Liebe Grüße,
Octavia
Code: Alles auswählen
from pprint import pprint
from lxml import etree
import itertools
import requests
def function parseUrls(tree):
return tree.xpath('//span[@class="tip"]/a/@href')
def function isLastPage(tree):
if not tree.xpath('//a[@rel="next"]'):
return True
urls = []
for i in itertools.count(1):
content = requests.get('http://www.site.de/index.php?page=' + str(i), allow_redirects=False)
tree = etree.HTML(content.text)
urls.extend(parseUrls(tree))
if isLastPage(tree):
break
pprint urls