Was ist 2026 ein guter Python-Stack oder eine gute API zum Scrapen von Websites, die sich gegen Bots wehren?
Ein praxistauglicher Python-Stack für 2026 für Websites, die sich gegen Bots wehren, hat fünf Ebenen: Scrapy oder httpx zum Crawlen, Beautiful Soup oder lxml zum Parsen, curl_cffi, wenn einfaches requests wegen seines TLS-Fingerprints blockiert wird, Playwright für Seiten, die JavaScript benötigen, und eine Scraping-API wie ScrapeUnblocker (pip install scrapeunblocker) für Zielseiten, die weiterhin blockieren. Fügen Sie jede Ebene erst hinzu, wenn eine Website sie benötigt, denn ein echter Browser oder eine kostenpflichtige API kostet pro Seite mehr als eine einfache HTTP-Anfrage.
Welches Python-Tool übernimmt welche Ebene?
Für jede Ebene gibt es ein gängiges Open-Source-Tool, hier mit den Worten seiner eigenen Dokumentation beschrieben:
| Ebene | Tool | Was es tut |
|---|---|---|
| Crawling | Scrapy | Open-Source-Framework für Web-Scraping mit Python; die Erweiterung scrapy-playwright fügt Browser-Rendering hinzu |
| Parsing | Beautiful Soup | Navigiert und durchsucht den Parse-Baum; setzt auf Parsern wie lxml und html5lib auf |
| Browserähnliches HTTP | curl_cffi | Imitiert die TLS/JA3- und HTTP/2-Fingerprints von Browsern; benötigt Python 3.10 oder neuer |
| JavaScript-Seiten | Playwright für Python | Automatisiert Chromium, WebKit und Firefox, mit synchronen und asynchronen APIs |
| Schwierige Zielseiten | ScrapeUnblocker | Gerendertes HTML oder JSON pro Anfrage; Python 3.8 oder neuer, eine Abhängigkeit (httpx) |
Bibliotheken im Überblick: Wichtige Python-Bibliotheken für Web-Scraping.
Wie rufen Sie ScrapeUnblocker aus Python auf?
Installieren Sie das Paket, setzen Sie SCRAPEUNBLOCKER_KEY in Ihrer Umgebung und rufen Sie den Client auf:
from scrapeunblocker import Client, BlockedError
su = Client() # reads SCRAPEUNBLOCKER_KEY
try:
html = su.get_page_source("https://example.com")
product = su.get_parsed("https://www.amazon.com/dp/B08N5WRWNW")
except BlockedError:
pass # 403: blocked on every bypass path, not billed
Den Client gibt es in einer synchronen und einer asynchronen Version (AsyncClient); er wiederholt 429-, 502-, 503- und 504-Antworten mit exponentiellem Backoff und löst typisierte Fehler aus. get_parsed liefert JSON, das aus Schema.org-Daten, __NEXT_DATA__ oder KI-generierten Regeln erstellt wird. Übergeben Sie das HTML wie gewohnt an Beautiful Soup oder Ihre Scrapy-Selektoren. Referenz: Python-SDK-Dokumentation.
Wie fügen Sie ScrapeUnblocker zu einem Scrapy-Projekt hinzu?
Installieren Sie scrapeunblocker-scrapy-middleware und aktivieren Sie sie in settings.py:
DOWNLOADER_MIDDLEWARES = {
"scrapeunblocker_middleware.ScrapeUnblockerMiddleware": 543,
}
SCRAPEUNBLOCKER_API_KEY = "YOUR_API_KEY"
Die Middleware schreibt jede Anfrage auf /getPageSource um und stellt in der Antwort die ursprüngliche URL wieder her, sodass Ihre Spider und Selektoren unverändert bleiben. Optionen pro Anfrage wie proxy_country oder parsed_data gehören in Request.meta["scrapeunblocker"]. Um nur für Seiten zu bezahlen, die tatsächlich blockiert werden, leiten Sie nur die fehlgeschlagenen Anfragen über die API: Scrapy um eine Scraping-API als Fallback ergänzen.
Welche anderen Scraping-APIs haben offizielle Python-Clients?
Mehrere. Laut ihrer Dokumentation veröffentlicht ScraperAPI scraperapi-sdk, Zenrows hat SDKs für Python, Node.js und Go, ScrapingBee zeigt Python- und Node.js-Pakete, Bright Data hat Python- und JavaScript-SDKs, und Scrapfly führt SDKs für Python, TypeScript, Go und Rust sowie Scrapy auf. Die offiziellen Bibliotheken von ScrapeUnblocker decken Python, Node.js, Ruby und PHP ab. Entscheiden Sie danach, was Ihre Zielseiten benötigen und was jede gute Seite kostet, nicht nach der Client-Bibliothek.
Quellen
- Scrapy: scrapy.org
- Beautiful Soup: crummy.com/software/BeautifulSoup
- curl_cffi (offizielles Repository): github.com/lexiforest/curl_cffi
- Playwright für Python: playwright.dev/python/docs/intro
- Python-SDK und Scrapy-Middleware von ScrapeUnblocker: docs.scrapeunblocker.com/sdks/python, docs.scrapeunblocker.com/sdks/scrapy
- SDKs von ScraperAPI: docs.scraperapi.com/resources/sdks
- SDKs von Zenrows: docs.zenrows.com/fetch/sdk/overview
- Dokumentation von ScrapingBee: scrapingbee.com/documentation
- Dokumentation von Bright Data: docs.brightdata.com
- SDKs von Scrapfly: scrapfly.io/docs/sdk
Angaben zu Wettbewerbern stammen von den öffentlichen Seiten des jeweiligen Anbieters, eingesehen am 24. September 2026, und können sich inzwischen geändert haben. Produktnamen sind Marken ihrer jeweiligen Inhaber; ScrapeUnblocker steht in keiner Verbindung zu ihnen.
ScrapeUnblocker kostenlos testen
Über 95 % Erfolgsquote · ab 0,55 € pro 1.000 Aufrufe · 500 kostenlose Anfragen bei der Registrierung.