In diesem Lernprogramm lernen Sie:
- Was Botright ist und wie es funktioniert
- Wie man es für Web Scraping verwendet
- Eine schrittweise Anleitung zum Lösen von CAPTCHAs mit Botright
- Alternativen zu Botright für die Lösung von CAPTCHAs in Scraping-Workflows
- Beschränkungen dieser Bibliothek und wie man sie überwinden kann
Lasst uns eintauchen!
Was ist Botright?
Botright ist ein Open-Source-Python-Web-Scraping-Framework zur Automatisierung von Browser-Interaktionen und zur Extraktion von Daten aus Websites. Es nutzt die Browser-Automatisierung und Stealth-Techniken, um echtes Nutzerverhalten zu imitieren. Dies macht es effektiv für das Scraping von dynamischen Websites und solchen, die durch Anti-Bot-Systeme wie Cloudflare geschützt sind.
Es basiert auf Playwright und nutzt Modelle des maschinellen Lernens, um Ihnen zu helfen, CAPTCHAs zu umgehen. Um Bots zu stoppen, sind CAPTCHAs so konzipiert, dass sie für Menschen leicht zu lösen sind, für automatisierte Skripte jedoch schwierig. Dennoch sind einige maschinelle Lernmodelle leistungsfähig genug, um sie zu überlisten.
👍 Vorteile:
- Umgehung der Anti-Bot-Erkennung: Botright wurde speziell zur Umgehung von Anti-Bot-Systemen entwickelt. Er erreicht dies durch Funktionen wie das Ändern von Browser-Fingerprints, die Verwendung echter oder modifizierter Browser-Engines und die Simulation menschenähnlicher Interaktionen.
- Eingebautes CAPTCHA-Lösungsverfahren: Es bietet integrierte maschinelle Lernfunktionen zur Lösung gängiger CAPTCHAs.
- Verarbeitet dynamische Inhalte: Als Browser-Automatisierungstool verarbeitet es JavaScript-lastige Websites und das Laden dynamischer Inhalte.
👎 Kons:
- Viele Abhängigkeiten: Um seine CAPTCHA-Lösungsfunktionen freizulegen, ist es auf einige Bibliotheken für Mathematik, maschinelles Lernen und erweiterte Interaktion angewiesen. Diese können dazu führen, dass die Gesamtgröße der Installation einige GB erreicht.
- Die Anti-Bot-Landschaft entwickelt sich weiter: Die Wirksamkeit jeder Anti-Bot-Bibliothek kann mit der Zeit abnehmen, da Websites ihre Bot-Erkennungstechniken und CAPTCHAs aktualisieren.
- Wird nicht gepflegt: Die Bibliothek wird nicht häufig aktualisiert und erfordert eine ältere Version von Python sowie einige manuelle Anpassungen, damit sie funktioniert.
Wie man Botright für Web Scraping verwendet
Denken Sie daran, dass Botright auf Playwright aufbaut. Daher können Sie nach der Initialisierung die API für Web Scraping verwenden, die von Playwright bereitgestellt wird:
import asyncio
import botright
async def main():
# Create a Botright browser instance
botright_client = await botright.Botright()
browser = await botright_client.new_browser()
# Create a new page instance
page = await browser.new_page()
# Visit the target page
await page.goto("https://example.com")
# Scraping logic with the Playwright API...
# Close the botright browser instance
await botright_client.close()
# Execute the scraper function
if __name__ == "__main__":
asyncio.run(main())
Beachten Sie, dass Botright nur im asynchronen Modus verfügbar ist, weshalb Sie es über asyncio
verwenden müssen.
Nach der Initialisierung des Browsers in Botwright können Sie die Playwright-API für Web Scraping verwenden.
Wie man CAPTCHAs mit Botright löst: Schritt-für-Schritt-Anleitung
Die wahre Superkraft von Botright ist die Fähigkeit, CAPTCHAs zu lösen. Laut der offiziellen GitHub-Seite sind dies die CAPTCHAs, die es lösen kann:
Captcha-Typ | Gelöst von | Erfolgsquote |
---|---|---|
hCaptcha | hcaptcha-challenger |
Bis zu 90% |
reCaptcha | reCognizer |
Von 50% bis 80% |
v3 Intelligenter Modus | Botrights Unauffälligkeit | 100% |
v3 Schieberegler Captcha | cv2.matchTemplate |
100% |
v3 Neun Captcha | CLIP-Erkennung | 50% |
v3 Icon Captcha | cv2.matchTemplate / SSIM / CLIP |
70% |
v4 Intelligenter Modus | Botrights Unauffälligkeit | 100% |
v4 Schieberegler Captcha | cv2.matchTemplate |
100% |
v4 GoBang Captcha | Mathematische Berechnungen | 100% |
v4 Icon Captcha | cv2.matchTemplate / SSIM / CLIP |
60% |
v4 IconCrush Captcha | Mathematische Berechnungen | 100% |
In dieser Anleitung sehen Sie, wie Sie ein Google reCAPTCHA mit Botright lösen können. Folgen Sie den folgenden Schritten, um das Ziel zu erreichen!
Anforderungen
Um dieses Tutorial nachvollziehen zu können, müssen Sie die folgenden Voraussetzungen erfüllen:
- Python 3.10.11 installiert.
- Die neueste Version von
pip
.
Hinweis: Die neuesten Versionen von Python funktionieren nicht mit Botright. Sie müssen also Version 3.10.11 oder niedriger auf Ihrem Rechner installiert haben.
Schritt 1: Projekteinrichtung und Botright-Installation
Am Ende dieses Abschnitts enthält der Ordner botright_project/
Ihren Projektordner:
botright_project/
├── scaper.py
└── venv/
Wo:
scraper.py
ist die Python-Datei mit der Botright CAPTCHA-Auflösungslogik.venv/
ist die virtuelle Umgebung von Python 3.10.
Unter Windows können Sie das Verzeichnis venv/
für die virtuelle Umgebung von Python 3.10 wie folgt erstellen:
py -3.10 -m venv venv
Um sie zu aktivieren, führen Sie aus:
venv\Scripts\activate
Äquivalent, unter Linux, ausführen:
python3.10 -m venv venv
Aktivieren Sie es dann mit:
source venv/bin/activate
Aktualisieren Sie pip
in der aktivierten virtuellen Umgebung auf die neueste Version:
python -m pip install --upgrade pip
Dann installieren Sie Botright mit:
pip install botright --use-pep517
pip install hcaptcha_challenger==="0.10.1.post2"
Anmerkungen:
--use-pep517
ist zwingend erforderlich, um sicherzustellen, dass alle Legacy-Abhängigkeiten, die auf einerpyproject.toml-Datei
beruhen, korrekt installiert werden.hcaptcha_challenger
hat sich seit der Veröffentlichung der letzten Version von Botright stark weiterentwickelt. Im Einzelnen werden in der neuesten Version vonhcaptcha_challenger
die von Botright im Hintergrund aufgerufenen Methoden nicht mehr offengelegt. Sie müssen also eine bestimmte Version installieren, damit die Bibliothek funktioniert.
Super! Ihre Umgebung ist für das Lösen von CAPTCHAs mit Botright eingerichtet.
Schritt #2: Definieren Sie die Logik für CAPTCHAs Auflösung
Um CAPTCHAs mit Botright zu lösen, schreiben Sie den folgenden Code in die Datei scraper.py
:
import asyncio
import botright
async def scraper():
# Start the Botright instance
botright_client = await botright.Botright(headless=True)
browser = await botright_client.new_browser()
# Create a new page instance
page = await browser.new_page()
# Open the target web page with the reCAPTCHA demo
await page.goto("https://www.google.com/recaptcha/api2/demo")
# Solve the CAPTCHA
await page.solve_recaptcha()
# Screenshot the page to capture the solved CAPTCHA
await page.screenshot(path="screenshot.png")
# Close the botright browser instance
await botright_client.close()
# Execute the scraper function
if __name__ == "_main_":
asyncio.run(scraper())
Der obige Code:
- Verwendet die Methode
new_browser()
, um eine Botright-Browser-Instanz im Headless-Modus zu starten. Dies ist eine spezielle Version von Chromium, die für Stealth optimiert ist. - Erstellt eine neue Seiteninstanz und öffnet die reCAPTCHA-Demoseite auf dieser.
- Löst das CAPTCHA mit der Methode
solve_recaptcha()
. - Macht einen Screenshot des gelösten CAPTCHAs und schließt die Browserinstanz.
Hinweis: Lesen Sie den Abschnitt “Captcha Solving” in der Dokumentation, um die unterstützten Methoden zu erfahren, die zum Lösen der anderen Arten von CAPTCHAs erforderlich sind.
Perfekt! Sie haben die Logik zur Lösung eines reCAPTCHA mit Botright geschrieben.
Schritt #3: Den Code ausführen
Führen Sie den Code mit aus:bash python scraper.py
So sieht es aus, wenn Sie das Skript im Headless-Modus(headless=False
) ausführen:
Die vom Botright-Skript erzeugte Datei screenshot.png
enthält:
Letztendlich sollte das Skript alle Bilder erkennen und die CAPTCHAs automatisch lösen. Da die Genauigkeit jedoch nicht zu 100 % garantiert ist, kann es gelegentlich fehlschlagen. In solchen Fällen lassen Sie das Skript einfach weiterlaufen, bis es erfolgreich ist. In der Produktion müssen Sie eine automatische Wiederholungslogik implementieren.
Wie Sie sehen können, kombiniert Botright maschinelle Lernmodelle mit automatisierten Tools zur Integration von Menschen:
- Verstehen, was das CAPTCHA abfragt
- Erkennen der Bilder, die den erforderlichen Kriterien entsprechen
- Klicken Sie auf diese Bilder, wie es ein Mensch tun würde
Auftrag erfüllt!
Alternativen zu Botright zum Lösen von CAPTCHAs
CAPTCHAs sind sogar gegen die meisten Bots wirksam. Obwohl sie das Erlebnis für normale Nutzer stören können, sind moderne CAPTCHAs nach wie vor einer der wichtigsten Schutzmechanismen gegen KI-Scraper und Crawler. Deshalb werden sie immer beliebter, da die meisten Websites ihre Seiten und Daten vor dem wachsenden Trend der KI-Bots schützen wollen.
Botright ist jedoch nicht das einzige Tool, das CAPTCHAs lösen kann. Wenn Sie CAPTCHAs beim Scraping umgehen müssen, sollten Sie die folgenden alternativen Bibliotheken und Ansätze in Betracht ziehen:
- Wie man CAPTCHAs mit Puppeteer umgeht
- Umgehung von CAPTCHAs mit Selenium in Python
- Wie man CAPTCHAs mit Playwright umgeht
- Leitfaden für Web Scraping mit SeleniumBase im Jahr 2025
- Wie man den unentdeckten ChromeDriver für Web Scraping verwendet
- Die 5 besten CAPTCHA-Proxys des Jahres 2025
Einschränkungen der Verwendung von Botright beim Web Scraping
Botright ist ein recht effektives Tool zur Lösung von CAPTCHAs beim Web-Scraping, aber es ist bei weitem nicht perfekt. Die Bibliothek verwendet Methoden des maschinellen Lernens, die nicht immer konsistente Ergebnisse liefern. Außerdem ist sie etwas veraltet und wird nicht häufig gewartet.
Das ist ein großes Problem, vor allem wenn man bedenkt, dass moderne CAPTCHAs immer komplexer werden. Infolgedessen müssten die maschinellen Lernmodelle hinter Botright regelmäßig aktualisiert werden, um Schritt zu halten.
Kurz gesagt: Erwarten Sie nicht, dass Botright moderne CAPTCHAs lösen kann. Das gilt insbesondere für neue puzzle-basierte CAPTCHAs wie die von hCaptcha:
Wie das frühere Videoergebnis zeigt (aufgenommen mit dreifacher Geschwindigkeit), ist Botright nicht besonders schnell. Der Grund dafür ist, dass es sehr viele Rechenressourcen benötigt, um jedes neue von reCAPTCHA präsentierte Bild zu analysieren und das richtige Bild zum Anklicken zu bestimmen. In realen Szenarien kann Botright bis zu 15 Sekunden brauchen, um ein reCAPTCHA zu lösen. Das ist viel zu lang für groß angelegte Scraping-Operationen.
Außerdem basiert Botright auf Playwright, das alle für Browser-Automatisierungstools typischen Einschränkungen mit sich bringt. Dazu gehören Probleme mit dem Browser-Fingerprinting im Headless-Modus und ein hoher Ressourcenverbrauch.
Für eine schnellere und konsistentere CAPTCHA-Lösung in Scraping-Workflows, die auf Browser-Automatisierung basieren, ist die Verwendung eines Cloud-basierten Browsers, der für Web Scraping optimiert ist, die bessere Option. Die Lösung heißt Scraping Browser.
Scraping Browser ist ein Cloud-Scraping-Browser, der integrierte Anti-Bot-Bypass-Funktionen, automatische IP-Rotation, Browser-Fingerprinting-Schutz, Wiederholungsmechanismen und – natürlich – CAPTCHA-Lösungen bietet.
Insbesondere kann die Lösung eine Vielzahl von CAPTCHAs verarbeiten, darunter reCAPTCHA, hCaptcha, px_captcha, SimpleCaptcha, GeeTest CAPTCHA, FunCaptcha, Cloudflare Turnstile, AWS WAF Captcha, KeyCAPTCHA und viele andere.
Schlussfolgerung
In diesem Artikel haben Sie erfahren, wie Botright die Browser-Automatisierung und das maschinelle Lernen nutzt, um CAPTCHAs für Web-Scraping-Zwecke zu lösen. Botright bietet zwar einige flexible Anti-Bot-Funktionen, leidet aber unter langsamer Leistung, hohem Ressourcenverbrauch, veralteten Abhängigkeiten und inkonsistenten Ergebnissen.
Für Unternehmen und Teams, die eine schnellere und einfachere Lösung zur Überwindung von CAPTCHAs im großen Maßstab benötigen, bietet Bright Data mehrere fortschrittliche Produkte, die weit über den Open-Source-Ansatz von Botright hinausgehen:
- CAPTCHA-Löser: Ein unternehmenstauglicher Solver, der eine breite Palette von CAPTCHA-Typen (einschließlich reCAPTCHA, hCaptcha, Cloudflare und mehr) unterstützt und hohe Erfolgsraten ohne große lokale Abhängigkeiten liefert.
- Scraping-Browser: Ein Cloud-basierter Browser, der speziell für Scraping entwickelt wurde, mit automatischer IP-Rotation, integriertem Anti-Bot-Schutz und nahtlosem CAPTCHA-Lösungsprozess – alles in der Cloud verwaltet, um Effizienz und Zuverlässigkeit zu gewährleisten.
- Web-Entsperrer: Eine Freischalt-Engine der nächsten Generation, die die schwierigsten Anti-Bot- und Anti-CAPTCHA-Herausforderungen meistert und automatisch den besten Ansatz für jede Website-Anfrage wählt, ohne manuelles Eingreifen.
- Proxy-Dienste: Zugriff auf den weltweit größten Proxy-Pool (Privatanwender, Rechenzentren und Mobilgeräte) zur Umgehung geografischer Beschränkungen und zur Erhöhung der Anonymität – wichtig für umfangreiche oder verteilte Scraping-Projekte.
- Scraper-APIs: Tools zum Extrahieren strukturierter Webdaten in großem Umfang, mit Anti-Blocking und CAPTCHA-Auflösung in jeder Anfrage sowie intuitiven Management-Dashboards.
Mit Bright Data können Sie Websites beliebiger Komplexität scrapen, technische Ressourcen einsparen und die Einhaltung der Best Practices der Branche garantieren. Starten Sie jetzt Ihre kostenlose Testversion!
Keine Kreditkarte erforderlich