Peter G. schrieb:
> Ich habe ein Python Programm erstellt, das mittels Chrome Driver eine
> Website in 5 Sekunden Intervallen aufruft, auf der laufend neue Live
> Daten verfügbar sind. Die abgefragten Daten werden nach jedem Aufruf in
> eine csv Datei geschrieben.
>
> Das Programm nimmt zuksessive mehr Speicher in Anspruch und stürzt nach
> ein paar Tagen ab, da der max. verfügbare Speicher überschritten wird.
>
> Verhindern kann ich das nur, wenn ich im Programm den ChromeDriver
> zumindest einmal am Tag schließe und wieder starte. Dies möchte ich aber
> vermeiden, da jedesmal eine Captcha Abfrage nötig ist.
> [...]
> hat jemand eine Idee?
Nun, Du willst da automatisiert und obendrein in kurzen Abständen eine
Webseite abrufen, deren Betreiber genau das offensichtlich nicht will.
Deswegen hat er schließlich die Captcha-Abfrage eingebaut, um haargenau
solche Abrufe und damit das Abgreifen seiner Daten zu verhindern. Dazu
möchtest Du vielleicht einmal § 202a S. 1 StGB lesen und dabei im Kopf
behalten, daß dieses Captcha durchaus als eine Art "Zugangssicherung"
angesehen werden kann. Auch das sogenannte Datenbankherstellerrecht aus
Abschnitt 6 des UrhG könnte berührt sein. Dies nur vorweg, um zu zeigen,
daß Deine Vorgehensweise zumindest nicht besonders fair gegenüber dem
Betreiber der Webseite ist, und möglicherweise auch zivil- oder sogar
strafrechtliche Konsequenzen haben könnte.
Bezüglich des Speicherleck-Problems ist es leider so, daß ich bislang
zumindest keinen für Linux verfügbaren Browser gefunden habe, der keine
Speicherlecks hat. Das betrifft wahrscheinlich auch die Webdriver. Wenn
Du also keine Lösung findest, das Captcha automatisiert zu lösen, ist
Dein Vorhaben wahrscheinlich ohnehin zum Scheitern verurteilt.
Nach meiner Erfahrung bieten die meisten Anbieter von Datensammlungen
allerdings eine, wenngleich zumeist kostenpflichtige, API zum Abrufen
dieser Daten. Solche APIs haben meistens den Vorteil, daß die Daten
wesentlich leichter abgerufen und weiterverarbeitet werden können. Wenn
solch ein Webseitenbetreiber keine API anbietet, gibt es in beinahe
allen Fällen alternative Anbieter, die das tun.
Nebenbei bemerkt vermute ich, daß Du der etwa Drölfmillionste bist, der
Börsendaten abgreifen möchte, um mit allerhand mehr oder weniger klugen
Machine- oder DeepLearning-Modellen Vorhersagen zu berechnen und damit
möglichst $schnell möglichst $reich zu werden. In diesem Zusammenhang
empfehle ich gerne das Buch "Unberechenbar" des Physikers und Comedian
Vince Ebert, um zu erkennen, warum daraus nichts wird. Viel Spaß!