Zum Inhalt

So umgehen Sie die Cloudflare-Erkennung mit Selenium

Suchen Sie nach einer Möglichkeit, die Cloudflare-Erkennung zu umgehen, wenn Sie Ihren Bot in Python codieren? Dann sind Sie auf der richtigen Seite. Der folgende Artikel enthält eine Anleitung zum Umgehen von Cloudflare mit Python und Selenium.

Webbots, einschließlich Web-Schaber, haben sich im Laufe der Jahre stark weiterentwickelt. Und seien wir ehrlich; Auch Websites werden immer smarter Erkennung von Bot-Traffic. Einer der Game Changer, der Bot-Entwickler zum Schwitzen bringt, ist der Anti-Bot-Systeme von Cloudflare.

Es fungiert als Middleware oder Proxy zwischen Webservern und Client-Software. Wenn Sie eine Webanfrage senden, muss diese überprüfen, ob sie kein Spam und legitim ist, bevor sie zu Ihrer Zielwebsite durchgelassen wird.

Normale Internetnutzer erleben eine kleine Verzögerung und erhalten die Meldung „Überprüfen Sie Ihren Browser, bevor Sie darauf zugreifen …“. Nachricht auf dem Bildschirm. Aber das geht irgendwann vorbei. Wenn Sie jedoch einen Bot verwenden, wird Ihnen höchstwahrscheinlich kein Zugriff gewährt. Einige Entwickler denken, dass die Verwendung eines Browser-Automators wie Selenium auch für sie zaubern würde.

Leider ist Cloudflare darauf ausgelegt, auch solche zu erkennen. Also, was machst du und wie machst du es Cloudflare-Erkennung umgehen als Bot-Entwickler mit Python und Cloudflare? In diesem Artikel wird Ihnen gezeigt, wie Sie die Cloudflare-Erkennung mit Python und Selen umgehen können.


Ein Überblick über Selen

Selen Übersicht

Der Selenium-Webtreiber ist ein Browser-Automator. Was du damit machst, ist dir überlassen. Einige verwenden es zum Testen von Websites, andere zum Botten und Scrapen. Es ist ein vielseitiges Tool, da Sie es in mehreren gängigen Programmiersprachen wie Python, Java und NodeJS verwenden können.

Es unterstützt auch gängige Browser wie Chrome, Firefox, Edge und Internet Explorer. Unser Fokus liegt hier auf der Python-Unterstützung. In Python ist Selenium das wichtigste Tool zum Botten und Scrapen von Websites, die auf JavaScript-Rendering angewiesen sind. Solche wie Scrapy, Requests und Beautifulsoup sind dafür nicht geeignet.

Selenium ist jedoch nur gegen Websites mit einfachen Anti-Spam-Systemen wirksam. Mithilfe von Proxys, dem Löschen von Cookies, dem Festlegen zufälliger Verzögerungen und einigen anderen Methoden können Sie der Erkennung und Blockierung entgehen.

Aber wenn eine Website durch Anti-Spam-Systeme wie Cloudflare und Akamai geschützt ist, wird Selenium wirkungslos. Dies liegt daran, dass es Standardzeiger gibt, die Anti-Spam-Systeme verwenden, um Bots zu erkennen, die das Standard-Selenium-Tool hat.


So umgehen Sie Cloudflare mit Selenium und Python

Mit den richtigen Schritten kann Selenium Cloudflare problemlos umgehen. Bevor wir darauf eingehen, werfen wir einen Blick darauf, wie gut Cloudflare bei der Erkennung von Bots funktioniert, die mit Python und Selenium codiert sind. Dazu codieren wir einen einfachen Bot, der versucht, darauf zuzugreifen rayobyte.com.

Rayobyte-Übersicht

Rayobyte ist ein von Cloudflare geschützter Proxy-Anbieter. Wenn Sie versuchen, mit einem Browser darauf zuzugreifen, muss Ihr Browser überprüft werden, bevor Ihnen der Zugriff gewährt wird. Wir werden dies verwenden, um zu testen, wie effektiv Cloudflare ist, und dann einen anderen Bot programmieren, der Maßnahmen enthält, um ihn zu umgehen.


Schritt 1: Installieren Sie die erforderlichen Tools

Damit Sie einen Bot in Python programmieren können, muss Python installiert sein. Für dieses Projekt müssen Sie auch Selenium installiert haben.

  • Python

Python-Übersicht

Auf den meisten Systemen ist Python bereits installiert. Die installierte Version ist jedoch Python 2, das aus Legacy-Gründen verwendet wird. Sie müssen Python 3 installieren, um Selenium verwenden zu können. Besuche den offizielle Download-Seite von Python um es auf Ihrem System zu installieren. Es ist für Windows, macOS und Linux verfügbar. Um zu überprüfen, ob die Installation erfolgreich durchgeführt wurde, führen Sie den folgenden Befehl in Ihrer Eingabeaufforderung aus.

„python —version“
  • Selenium

Selen-Werkzeuge

Selenium ist ein komplettes Botting-Tool. Es automatisiert den Browser, sodass Sie auf Seiten zugreifen, auf Schaltflächen klicken, scrollen und sogar Formulare ausfüllen und alle Aktionen ausführen können, die Sie manuell ausführen können. Selenium ist ein Drittanbieter-Tool.

Damit es funktioniert, müssen Sie es installiert haben und dann den spezifischen Treiber für den Browser, den Sie automatisieren möchten, herunterladen und im Pfad platzieren.

Für diese Anleitung verwenden wir Chrome, da es der beliebteste Browser da draußen ist.

Um Selenium zu installieren, führen Sie die

„pip installieren selen“

Befehl in der Eingabeaufforderung. Sobald der Download abgeschlossen ist, können Sie jetzt die Download-Seite für den Chrome-Webtreiber besuchen. C

Überprüfen Sie Ihre Chrome-Version und laden Sie den Treiber speziell für Ihre Chrome-Version herunter. Wenn Sie das einer anderen Version herunterladen, funktioniert es nicht.

Entpacken Sie den Inhalt nach dem Herunterladen in einen Ordner. Dieser Ordner ist der Arbeitsordner für dieses Projekt.


Schritt 2: Senden Sie eine Anfrage an die Website ohne Bypass-Trick

Unsere Ziel-Website ist rayobyte.com. Wir programmieren ein Skript, das eine Anfrage an diese Website sendet, und sehen uns die Antwort an, die wir erhalten.

Unten ist der Code. Es ist ganz einfach. Diejenige, die mehr Codezeilen erfordert, ist tatsächlich diejenige mit dem Code zum Umgehen von Cloudflare.

Verwenden Sie den folgenden Code in Ihrem bevorzugten Python IDLE. In meinem Fall verwende ich Pycharm, das derzeit beste IDLE auf dem Markt – das ist jedoch umstritten. Das Hauptproblem dabei ist, dass es bezahlt wird.

aus selenium.webdriver import Chrome browser = Chrome() browser.get("https://rayobyte.com")

Der obige Code startet den Chrome-Browser auf Ihrem System und versucht, auf die Homepage der Rayobyte-Website zuzugreifen.

Anstatt auf die Seite zuzugreifen, wird sie jedoch nur in einer Schleife ausgeführt und bleibt auf der Cloudflare-Verifizierungsseite. Unten ist ein Screenshot, wie die Seite aussieht.

Wenn Sie den Code gut überprüfen, werden Sie sehen, dass ich ihn nicht geschlossen habe. Dadurch kann ich sehen, ob die Seite am Ende geladen werden kann. Aber das wird nie passieren. Sie sollten den automatisierten Browser schließen.

Wie Sie bereits gesehen haben, kann Selenium allein nicht dazu verwendet werden, Cloudflare zu umgehen. Wer Cloudflare umgehen will, muss sich einiger Tricks bedienen. Der nächste Schritt zeigt Ihnen, wie Sie dasselbe Selenium und Python verwenden, um Cloudflare zu umgehen.


Schritt 3: Verwenden des Plugins zum Umgehen von Cloudflare

Verwenden des Plugins zum Umgehen von Cloudflare

Wie Sie oben sehen können, erkennt Cloudflare Selenium-Skripte als Bots. Die Verwendung von Proxys wird Ihnen in diesem Fall nicht helfen. Sie brauchen andere Methoden.

Der beste Weg, Cloudflare mit Selenium und Python zu umgehen, ist die Verwendung einer Bibliothek namens Unentdeckter ChromeDriver. Diese können Sie über die installieren

„pip install undetected-chromedriver“

Dieses Plugin funktioniert nur, wenn Sie Chrome steuern/automatisieren möchten. Derzeit gibt es keine Möglichkeiten, andere Browser zu automatisieren. Wenn Sie diese Bibliothek installiert haben, müssen Sie nur die Standardbrowserklasse in Selenium durch diese ersetzen, und Sie können loslegen.

Nachfolgend finden Sie ein Code-Snippet, das Ihnen zeigt, wie Sie den Undetected ChromeDriver korrekt verwenden, um Cloudflare zu umgehen.

importiere undetected_chromedriver als uc von selenium.webdriver.support.ui import WebDriverWait driver = uc.Chrome(use_subprocess=True) wait = WebDriverWait(driver, 20) driver.get("https://rayobyte.com")

Indem Sie einfach die Undetected-Chromedriver-Bibliothek verwenden, werden Sie sehen, dass Sie der Erkennung durch Cloudflare entgehen können. Auf diese Weise können Sie Ihre Aufgaben automatisieren oder sogar problemlos das Internet nach Daten durchsuchen.


Ort der Proxys zum Umgehen von Cloudflare

Ort der Proxys zum Umgehen von Cloudflare

Wenn Sie sich den obigen Code ansehen, werden Sie sehen, dass im gesamten Prozess keine Proxys verwendet wurden. Sie fragen sich jetzt, ob Sie Proxys benötigen, um Cloudflare zu umgehen. Der Grund dafür ist einfach – wir senden nur eine Anfrage. Wenn Sie nur wenige Anfragen senden müssen, müssen Sie dafür keinen Proxy verwenden.

Wenn Sie jedoch viele Anfragen senden, wie es die meisten Bots tun, müssen Sie Proxys verwenden.

Dies liegt daran, dass IP-Tracking, wie bei den meisten Anti-Bot-Systemen, immer noch einer der Hauptbestandteile des Cloudflare-Dienstes ist. Und wenn es zu viele Anfragen von derselben IP erhält, spielt es keine Rolle, ob es einen Bot-Fußabdruck gibt oder nicht; Eine solche IP wird als verdächtig angesehen und daher werden weitere Anfragen blockiert.

Wir empfehlen Ihnen, private Proxys zu verwenden, um Cloudflare zu umgehen. Einige der besten Proxy-Anbieter dafür sind Bright Data, Smartproxy und Soax. Wenn Sie keine Sitzungen aufrechterhalten müssen, ist die Verwendung von rotierenden Proxys dieser Anbieter das Beste, um Cloudflare zu umgehen.


FAQs

F. Schützen Proxys vor Cloudflare-Blockierung?

Nein tun sie nicht. Möglicherweise sehen Sie einige Proxys, die sich selbst als Proxys vermarkten, um Cloudflare zu umgehen. Die Realität vor Ort ist das Gegenteil. Proxys allein schützen Sie nicht vor einer Cloudflare-Blockierung. Sie müssen Tools verwenden, die normale Benutzerbrowser imitieren können, und hier kommt die Verwendung des unentdeckten ChromeDriver ins Spiel.

Proxys sind erforderlich, wenn Sie viele Anfragen über Cloudflare senden müssen, und wenn Sie keine Proxys verwenden, besteht die Gefahr, dass ihr IP-Tracking- und Blockierungssystem stolpert. Proxys werden in vielen Fällen benötigt, aber sie sind nicht die einzigen Tools, die Sie benötigen, um die Umgehung von Cloudflare zu umgehen.

F. Wie effektiv verhindert Cloudflare Bots?

Wenn Ihre Ziel-Website von Cloudflare geschützt wird, müssen Sie sich wirklich Sorgen machen. Dies liegt daran, dass Cloudflare einige interessante Zahlen hat, die Sie erschrecken werden, ohne auch nur zu versuchen, sie zu umgehen.

Den verfügbaren Daten zufolge verzeichnen von Cloudflare geschützte Websites eine 65-prozentige Reduzierung der Anfragen, bevor sie Cloudflare einrichten. Dies ist eine großartige Arbeit, die Cloudflare genau dort leistet. Es hilft auch, Websites schneller zu laden und weniger Bandbreite zu verbrauchen. Mit den richtigen Techniken und Tools können Sie es jedoch immer noch umgehen und es weniger effektiv machen.

Anti-Bot-Systeme wie Cloudflare schützen Websites vor DDoS-Angriffen und anderen Formen von Spam. Sie zu umgehen ist nicht illegal, obwohl Websites sie so konfigurieren, dass sie ihre Systeme und Datenbanken schützen.

Was Sie jedoch tun, nachdem Sie sie umgangen haben, könnte Sie in rechtliche Schwierigkeiten bringen. Wenn Sie Ihre Aufgaben nur automatisieren müssen, ohne der Website Schaden zuzufügen, indem Sie sie mit Anfragen überhäufen, befinden Sie sich immer noch im rechtlichen Rahmen.

Wir sind keine kompetenten Rechtsberater und empfehlen Ihnen daher, sich von kompetenten Praktikern rechtlich beraten zu lassen. Nichts, was Sie hier lesen, sollte als Rechtsberatung angesehen oder verstanden werden.


Zusammenfassung

Als Bot-Entwickler sind Anti-Bot-Systeme wie Cloudflare einige der Albträume, mit denen Sie sich befassen werden, da sie Sie frustrieren können. Dies gilt insbesondere, wenn Sie keine Erfahrung damit haben, sie zu umgehen.

Als Anfänger denken Sie vielleicht, dass die Verwendung von Selenium ein einfacher Ausweg für Sie ist, da Selenium Browser automatisiert und JS rendert.

Cloudflare scheint jedoch Selenium-basierte Bots in die Finger bekommen zu haben. Mit Hilfe des im Artikel beschriebenen unentdeckten ChromeDriver-Tools sollten Sie es problemlos umgehen können.

Mitreden

E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind MIT * gekennzeichnet. *