Das Cloudflare-Problem
Du schreibst einen Scraper. Du testest lokal. Alles funktioniert. Du deployst auf Vercel. HTTP 403.
Willkommen bei Cloudflare Bot Protection. Sie erkennt: fehlende Browser-Fingerprints, keine JavaScript-Execution, verdächtige Request-Pattern. Server-seitige Requests mit node-fetch sind sofort als Bot identifiziert.
Warum Tampermonkey
Tampermonkey-Userscripts laufen im echten Browser. Für Cloudflare bist du ein normaler User:
- Echte Browser-Fingerprints (User Agent, Canvas, WebGL)
- JavaScript wird ausgeführt (Cloudflare-Challenge gelöst)
- Cookies vom normalen Browsing
GM_xmlhttpRequestumgeht CORSGM_setValue/GM_getValuefür persistenten State
Der Workflow
- Navigation: User öffnet Tapology-Profil (oder Script navigiert automatisch)
- Extraktion: Userscript parst Fighter-Daten aus dem DOM
- API-Call:
GM_xmlhttpRequestsendet Daten an Borzsport-API - Nächste Seite:
setTimeoutnavigiert zur nächsten Fighter-Page (mit Delay!)
Ethik
Wichtig: Scraping erfolgt mit 2–5 Sekunden Delay zwischen Requests, nur für öffentliche Daten, respektiert robots.txt, und überlastet keine Server. Verantwortungsvolles Scraping ist kein Angriff — es ist Datenintegration.