Schnelle Datenverarbeitung (Webcrawler)
Verfasst: Montag 16. Januar 2012, 16:53
Hallo,
ich bin derzeit dabei einen Webcrawler in Python zu schreiben.
Das Grundgerüst ist fertig und ich gehe langsam zur optimierung über.
Leider weiß ich nicht, wie ich die Daten am besten sammeln sollte.
Zu speichern sind die besuchten und gefundenen, aber noch nicht
besuchten urls. Das Problem ist, das die Menge der abzugleichenden
Daten ständig wächst.
Deshalb bin ich auf der Suche nach der
effizientesten Methode Daten miteinander zu vergleichen, um
die selbe seite nicht zweimal aufzurufen und der, mit der ich
Daten schnellstmöglich speichern und wieder abrufen kann.
Das heißt, dass ich keine weiteren Funktionen, bis auf die oben
genannten bräuchte, bis auf das der typ in dem die Daten
die ich speichern und wieder abrufen möchte iterierbar sein sollte.
Ich habe mal gelesen, dass dictionarys relativ schnell sein sollen.
Gilt das nur, wenn ich ein Key/Value Paar suche, oder auch wenn
ich nur mehrere Keys habe?
Ansonsten habe ich noch darüber nachgedacht, ein set-, deque-
oder iteratorobjekt zu benutzen.
In dem Objekt müssen ausschließlich urls als string gespeichert werden.
Würde mich sehr über Tipps freuen,
Jonso
ich bin derzeit dabei einen Webcrawler in Python zu schreiben.
Das Grundgerüst ist fertig und ich gehe langsam zur optimierung über.
Leider weiß ich nicht, wie ich die Daten am besten sammeln sollte.
Zu speichern sind die besuchten und gefundenen, aber noch nicht
besuchten urls. Das Problem ist, das die Menge der abzugleichenden
Daten ständig wächst.
Deshalb bin ich auf der Suche nach der
effizientesten Methode Daten miteinander zu vergleichen, um
die selbe seite nicht zweimal aufzurufen und der, mit der ich
Daten schnellstmöglich speichern und wieder abrufen kann.
Das heißt, dass ich keine weiteren Funktionen, bis auf die oben
genannten bräuchte, bis auf das der typ in dem die Daten
die ich speichern und wieder abrufen möchte iterierbar sein sollte.
Ich habe mal gelesen, dass dictionarys relativ schnell sein sollen.
Gilt das nur, wenn ich ein Key/Value Paar suche, oder auch wenn
ich nur mehrere Keys habe?
Ansonsten habe ich noch darüber nachgedacht, ein set-, deque-
oder iteratorobjekt zu benutzen.
In dem Objekt müssen ausschließlich urls als string gespeichert werden.
Würde mich sehr über Tipps freuen,
Jonso