So umgehen Sie die Geschwindigkeitsbegrenzung. HTML-Fehler 1015 mit Python
Also habe ich einen Automatisierungsbot erstellt, um ein paar Dinge für mich im Internet zu erledigen. Mit Selenium Python. Nach langen und knurrenden Codierungssitzungen. Tage und Nächte der Arbeit an diesem Projekt habe ich es endlich abgeschlossen. Nur um es zu sein zufällig mit einem Fehler 1015 "Sie werden ratenbegrenzt" begrüßt.
Ich verstehe, dass dies DDOS-Angriffe verhindern soll. Aber es ist ein schwerer Schlag.
Ich habe die Website kontaktiert, um die Angelegenheit zu lösen, aber ohne Erfolg. Aber die Sicherheitssoftware von Drittanbietern, die sie verwenden, sagt, dass sie der Website meinen IP-Ausschluss von Ratenbegrenzungen gewähren können.
Also habe ich mich gefragt, ob es eine andere Möglichkeit gibt, dies zu umgehen. Vielleicht aus Codierungssicht. Ich glaube nicht, dass Dinge wie das Löschen von Cookies irgendetwas lösen werden. Oder wird es, da es meine spezifische IP-Adresse ist, die sie blockieren
Hinweis: Der TofC der Website, auf der ich meinen Bot ausführe, sagt nicht, dass Sie keine Automatisierungssoftware verwenden können. Aber er sagt auch nicht, dass Sie dies nicht können.
Es macht mir nichts aus, noch mehr zu programmieren, um Verweigerungen des wahlfreien Zugriffs zu verhindern. Ich denke, das dauert 24 Stunden, was sich nachteilig auswirken kann, da die letzte Phase dieses Builds darin besteht, mein Programm über lange Zeiträume täglich laufen zu lassen.
Glaubst du, ich könnte mit dem Sicherheitsdienst eines Drittanbieters kommunizieren und ihn bitten, die Website zu bitten, mir Zugriff zu gewähren? Ich habe bereits versucht, die Angelegenheit mit der Website zu lösen. Alles, was sie sagten, war, dass A. Auf dieser Seite steht, dass es mir gut geht. B. Das Problem ist höchstwahrscheinlich auf meiner Seite. "Vielleicht versucht eine bösartige Software, auf unsere Website zuzugreifen." Das hat mich denken lassen, dass es vielleicht besser wäre, wenn ich die Angelegenheit selbst lösen würde.
Glaubst du, ich muss möglicherweise Wartezeiten zwischen Prozessen oder so etwas implementieren? Ich stecke fest.
Vielen Dank für jede Hilfe. Und es ist ein einziger Bot!
Antworten
Wenn Sie zufällig mit ... begrüßt werden

... impliziert, dass der Websitebesitzer eine Ratenbegrenzung implementiert hat , die sich auf Ihren Besucherverkehr auswirkt.
geschwindigkeitsbegrenzender Grund
Cloudflare kann den Besucherverkehr begrenzen, der versucht, einem möglichen Dictionary-Angriff entgegenzuwirken .
Schwellenwerte für Ratenbegrenzungen
In allgemeinen Fällen begrenzt die Cloudflare- Rate den Besucher, wenn der Besucherverkehr die durch berechneten Schwellenwerte für die Ratenbegrenzung überschreitet, indem 24 Stunden nicht zwischengespeicherter Website-Anfragen durch die einzelnen Besucher für dieselben 24 Stunden geteilt werden. Teilen Sie dann durch die geschätzten durchschnittlichen Minuten eines Besuchs. Zum Schluss multiplizieren Sie mit 4 (oder mehr), um einen geschätzten Schwellenwert pro Minute für Ihre Website festzulegen. Ein Wert über 4 ist in Ordnung, da die meisten Angriffe eine Größenordnung über den typischen Verkehrsraten liegen.
Lösung
In diesen Fällen besteht eine mögliche Lösung darin, den nicht erkannten Chromedriver zum Initialisieren des Chrome -Browserkontexts zu verwenden .
undetected-chromedriver ist ein optimierter Selenium Chromedriver-Patch, der keine Anti-Bot-Dienste wie Distill Network / Imperva / DataDome / Botprotect.io auslöst. Die Treiberbinärdatei wird automatisch heruntergeladen und gepatcht.
Codeblock:
import undetected_chromedriver as uc from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument("start-maximized") driver = uc.Chrome(options=options) driver.get('https://bet365.com')
Verweise
Einige relevante ausführliche Diskussionen finden Sie in:
- Die Selenium-App wird auf der Cloudflare-Seite umgeleitet, wenn sie auf Heroku gehostet wird
- Linkedin API-Drosselungslimit
Ich sehe hier einige Möglichkeiten für Sie:
- Führen Sie eine Wartezeit zwischen den Anforderungen an die Site ein
- Reduzieren Sie Ihre Anfragen
- Erweitern Sie Ihren Bot, um zu erkennen, wann er das Limit erreicht, und ändern Sie Ihre IP-Adresse (z. B. durch Neustart Ihres Routers).
Der letzte ist der am wenigsten bevorzugte und auch der zeitaufwändigste.
Erstens: Lesen Sie die Nutzungsbedingungen der Website. Sehen Sie sich beispielsweise die robots.txt an. Diese befindet sich normalerweise im Stammverzeichnis der Website wie www.google.com/robots.txt . Beachten Sie, dass ein Verstoß gegen die ausdrücklichen Bestimmungen des Website-Eigentümers je nach Rechtsprechung illegal sein kann und dazu führen kann, dass der Eigentümer Ihr Tool und / oder Ihre IP blockiert.
https://www.robotstxt.org/robotstxt.html
Auf diese Weise erfahren Sie, was der Websitebesitzer ausdrücklich für die Automatisierung und das Scraping zulässt.
Nachdem Sie die Bedingungen der Website überprüft und verstanden haben, was sie zulassen, und sie nicht auf Sie reagieren und festgestellt haben, dass Sie nicht gegen die Nutzungsbedingungen der Website verstoßen, besteht die einzige echte andere Option darin, Proxies und / oder VPS zu verwenden Dadurch erhält das System, auf dem die Skripte ausgeführt werden, unterschiedliche IP-Adressen.