I sidste uge brugte jeg 40 minutter på at fejlsøge et helt fint Python-script, som kørte uden problemer på tre testsider — kun for at opdage, at den fjerde side var beskyttet af Cloudflare. Scraperen blev ved med at hænge på en “Checking your browser…”-side og returnerede intet andet end challenge-HTML. Lyder det bekendt?
Hvis du er stødt ind i den mur, er du langt fra alene. Over 24 millioner aktive websites bruger nu Cloudflare, herunder omkring 22% af alle websites på internettet. Det gør Cloudflare til den mest almindelige barriere for alle, der vil indsamle webdata — hvad enten det er til leadgenerering, prisovervågning, ejendomsresearch eller konkurrentanalyse.
Problemet er, at de fleste guides bare remser alle bypass-teknikker op i en lang liste, uden at fortælle dig, hvad du først bør prøve i din situation. Den her guide gør det anderledes: et prioriteret beslutningstræ, ærlige estimater for driftssikkerhed og en no-code-rute, som de fleste artikler helt overser.
- Sværhedsgrad: Begynder til let øvet (afhængigt af metoden)
- Tidsforbrug: Ca. 10–30 minutter for no-code-ruten; varierer for kodebaserede metoder
- Det skal du bruge: Chrome-browser (til no-code-ruten), eventuelt Python 3.9+ (til kodebaserede metoder) og en mål-URL
Hvad er Cloudflare-beskyttelse, og hvorfor blokerer den din scraper?

Cloudflare er en reverse proxy, der ligger mellem besøgende og sitets origin-server. Hver forespørgsel rammer først Cloudflare, som beslutter, om siden skal leveres, om den besøgende skal udfordres, eller om den skal blokeres helt. Det vigtigste at forstå er, at Cloudflare ikke behøver at vide, at din scraper er ondsindet. Den skal bare klassificere din forespørgsel som tilstrækkeligt automatiseret eller mistænkelig.
Cloudflare's Bot Management bruger en lagdelt tilgang — ikke én enkelt lås, men et helt sikkerhedstjek. Den vurderer IP-omdømme, HTTP-headere, TLS-fingeraftryk, JavaScript-kørsel, browser-fingerprinting og adfærdsmønstre. Når dit Python requests-bibliotek sender et GET-kald til en Cloudflare-beskyttet side, fejler det flere lag på én gang: forkert TLS-handshake, ingen JavaScript-kørsel, ingen cookies, intet browser-fingeraftryk. Derfor holdt simpel header-spoofing op med at virke for flere år siden.
De mest almindelige symptomer er: 403 Forbidden, 503 med "Checking your browser…", 1020 Access Denied, uendelige challenge-løkker, Turnstile-widgets der aldrig bliver løst, og HTML-challengesider, hvor du forventede JSON.
Passiv detektion: Hvad Cloudflare tjekker, før siden overhovedet indlæses
Før du overhovedet ser en side, har Cloudflare allerede scoret din forespørgsel i sit passive lag:
- IP-omdømme: Datacenter-IP’er, cloud-hostede ranges og kendte proxy-exits bliver ofte markeret. Residential- og mobil-IP’er er langt mere betroede. Community-rapporter i 2026 beskriver konsekvent, at lokal browsing fra en boligforbindelse går igennem, mens Docker- eller VPS-miljøer bliver blokeret.
- HTTP-header-analyse: Cloudflare sammenligner din User-Agent, Accept-Language, header-rækkefølge og HTTP-version. Et mismatch — for eksempel at påstå, du er Chrome 136, mens dit TLS-handshake afslører "Python" — er et tydeligt rødt flag.
- TLS-fingerprinting (JA3/JA4): Under TLS-handshaket afslører din klient et mønster af understøttede cipher suites, extensions og protokolpræferencer. JA3/JA4 komprimerer det til en identifikator. Ægte Chrome og et Python
requests-script efterlader meget forskellige “former”. - HTTP/2-fingerprinting: Browsere og HTTP-biblioteker adskiller sig i HTTP/2 SETTINGS-frames, rækkefølgen af pseudo-headere og prioriteringsadfærd. Cloudflare's JA4 Signals går videre end identitet på enkeltforespørgsler og sporer mønstre mellem forespørgsler over tid.
- AI Labyrinth: Det her er Cloudflare’s nyere fælde. I stedet for at blokere mistænkelige crawlers sender den dem ind i AI-genererede honeypot-sider, som ser troværdige ud, men spilder crawlerens ressourcer. Din scraper opdager måske slet ikke, at den er faldet i fælden.
Aktiv detektion: Challenges, der kører i din browser
Når de passive checks ikke er nok, eskalerer Cloudflare til aktive challenges:
- JavaScript-challenges: Den klassiske "Checking your browser…"-side. Cloudflare’s JavaScript Detections kører usynlige scripts for at identificere automatiske forespørgsler.
- Turnstile: Cloudflare’s CAPTCHA-erstatning. Turnstile widget modes omfatter Managed, Non-Interactive og Invisible. Den analyserer musebevægelser, browsermiljø, TLS-fingeraftryk og meget mere — uden nødvendigvis at vise en synlig opgave.
- Canvas- og WebGL-fingerprinting: Disse checks afslører headless-browsere, som renderer anderledes end rigtige browsere.
- Adfærdssignaler: Timing mellem forespørgsler, scrollmønstre, kliksekvenser. En scraper, der henter 50 sider på 3 sekunder uden musebevægelser, ligner slet ikke et menneske.
Det praktiske takeaway: Hvis Cloudflare er eskaleret til en aktiv challenge, kan almindelige HTTP-klienter som requests, httpx eller endda curl_cffi ikke komme igennem. Du har brug for noget, der kører et rigtigt browsertilfælde.
Cloudflare-beskyttelsesniveauer: Hvorfor det samme script virker på én side, men fejler på en anden
Det er netop det, de fleste bypass-guides overser. Cloudflare’s beskyttelse er ikke ensartet. Et site på Cloudflare’s gratis plan med "Security Level: Medium" er en helt anden udfordring end et site på Enterprise med Bot Management og Turnstile slået til. Det samme script, der glider let igennem det ene, rammer en mur på det andet.
| Cloudflare-niveau | Typiske forsvar | Sværhedsgrad for bypass | Hvad virker normalt |
|---|---|---|---|
| Gratis plan (lav sikkerhed) | Bot Fight Mode, grundlæggende WAF-regler, IP-omdømme | ⭐ Lav | Intern API-opdagelse, curl_cffi med korrekte headere, ægte browsersession |
| Pro-plan (mellem) | Super Bot Fight Mode, Managed Challenge, JavaScript-detektioner | ⭐⭐ Mellem | Ægte browsersession, stealth-browserautomatisering, residential proxies |
| Business | Stærkere WAF, Bot Analytics, strengere challenges på nøglepaths | ⭐⭐⭐ Mellem–høj | Udhentning via browsersession, sessionspersistens, residential/mobile proxies, betalte scraping-API’er |
| Enterprise / Bot Management | Bot-scorer, JA3/JA4-felter, regler per endpoint, Turnstile, AI Labyrinth | ⭐⭐⭐⭐ Høj | Intern API (hvis tilgængelig), værktøjer til ægte brugersessioner, scraping-API’er i provider-klassen |

Cloudflare’s prisside angiver Free til $0, Pro til $20/måned, Business til $200/måned og Enterprise til specialpris. Bot Fight Mode er den enkle toggle på Free-planen; Super Bot Fight Mode tilføjer flere kontroller til Pro/Business; Enterprise Bot Management tilføjer detaljerede botscorer og endpoint-specifikke regler.
Sådan kan du groft identificere niveauet, du står overfor: En 403 med en Cloudflare-branded blokering og uden challenge-script betyder ofte WAF- eller fingerprint-afvisning. En cf-turnstile-div eller et challenges.cloudflare.com/turnstile/v0/api.js-script betyder Turnstile. En "Checking your browser"-side betyder en Managed Challenge. Fejl, der kun opstår på bestemte paths efter en succesfuld indlæsning af forsiden, peger ofte på endpoint-specifikke WAF- eller Bot Management-regler.
Identificér beskyttelsesniveauet før du vælger metode. Det sparer timer i fejlfinding.
Beslutningstræet “prøv dette først” til at omgå Cloudflare
I stedet for at prøve metoder tilfældigt, så følg en prioriteret rækkefølge. Start med det letteste og mest stabile, og eskalér kun når det er nødvendigt:
| Trin | Prøv dette først | Hvorfor | Hvis det fejler → |
|---|---|---|---|
| 1 | Tjek om der findes en intern/udokumenteret API | Springer Cloudflare helt over; hurtigst og mest stabilt | Trin 2 |
| 2 | Brug et no-code-værktøj med indbygget browser-rendering (f.eks. Thunderbit) | Ingen opsætning, håndterer JS-challenges automatisk | Trin 3 |
| 3 | TLS-fingeraftryksspoofing (curl_cffi) | Hurtig, letvægts, ingen browser nødvendig | Trin 4 |
| 4 | Stealth-browserautomatisering (SeleniumBase UC / Puppeteer stealth) | Håndterer JS-challenges + fingerprinting | Trin 5 |
| 5 | FlareSolverr + Docker | Open source, server-venlig | Trin 6 |
| 6 | Betalt scraping-API (ScrapingBee, ZenRows, Scrapfly osv.) | Overlader hele kapløbet til andre | — |

Logikken er enkel: gratis og lav indsats først, kodeintensivt og betalt til sidst. Spring direkte til det trin, der passer til din situation.
Et community-benchmark fra marts 2026 hævdede, at curl_cffi klarede 16 ud af 20 testede domæner (80%), at FlareSolverr dækkede cirka 55–70%, og at betalte proxy-aggregatorer nåede omkring 97% gennemsnitlig succes — men den samme tråd advarer om, at tallene ændrer sig, når Cloudflare opdateres. Betragt alle succesrater som vejledende, ikke garanterede.
Trin 1: Spring kampen over — find den interne API bag Cloudflare
Fire separate forumtråde, jeg er stødt på, anbefaler at finde sitets interne API i stedet for at kæmpe direkte med Cloudflare. Og helt ærligt, det er det klogeste første skridt. Hvis sitet har en intern API, omgår du Cloudflare helt — ingen tricks, ingen fingerprint-spoofing, ingen stealth-plugins.

Her er den systematiske tilgang:
- Åbn Chrome DevTools → gå til Network-fanen → filtrér på XHR/Fetch.
- Interager med siden: søg, filtrér, paginér, scroll. Hold øje med JSON-svar, der dukker op i Network-fanen.
- Undersøg request-URL og headere. Ofte har API-endpointet ingen Cloudflare-beskyttelse eller en svagere beskyttelse end frontend-siden.
- Højreklik på requesten → Copy → Copy as cURL. Indsæt det i din terminal eller Postman og test det.
- Genskab requesten i Python (med
requestsellercurl_cffi) med de samme headere, cookies og query-parametre.
Hvis API’en returnerer struktureret JSON, behøver du måske slet ikke en traditionel scraper. En Reddit-tråd fra januar 2026 beskrev præcis den situation: en bruger, der blev blokeret af Cloudflare trods curl_cffi, fandt ud af, at den eneste brugbare vej var at hente API-svaret direkte.
Praktisk tip: Når cURL-kopien virker, så begynd at fjerne unødvendige headere. Headere som sec-ch-ua, cookies, CSRF-tokens og referer kan være nødvendige; browser-cachekontroller er det normalt ikke. Hold TLS-fingeraftrykket konsistent med User-Agent, hvis du går fra browser-cURL til kode.
Begrænsninger: Ikke alle sites har en tilgængelig API. Nogle API’er kræver autentificering, CSRF-tokens, signerede request-parametre eller sessionbundne cookies. Men når det virker, er det her metoden med cirka 99% succes og næsten ingen vedligeholdelse.
Prøv Thunderbit til browserbaseret scraping
Trin 2: No-code-ruten — omgå Cloudflare med en browser-extension (Thunderbit)
De fleste guides antager, at læseren skriver Python eller JavaScript. Men det her søgeord tiltrækker også salgsteams, der bygger lead-lister, ecommerce-teams, der overvåger konkurrentpriser, og ejendomsanalytikere, der trækker ejendomsdata ud. De folk vil ikke bruge tid på at sætte Docker-containere op.
Omgå Cloudflare med en browser-extension Get Started Free
En Chrome-extension som Thunderbit håndterer naturligt mange Cloudflare-checks, fordi den kører inde i din rigtige browsersession. Den arver Chromes ægte TLS-fingeraftryk, dine cookies, din loginstatus og dine adfærdssignaler — præcis det, Cloudflare stoler på. Ingen stealth-plugins, ingen xvfb-run, ingen terminalkommandoer.

Trin-for-trin-guide
- Installér Thunderbit Chrome Extension fra Chrome Web Store.
- Åbn den Cloudflare-beskyttede side i Chrome. Hvis Cloudflare udfordrer dig, så løs den som en normal bruger — klik på Turnstile-afkrydsningen, og vent på, at "Checking your browser"-siden forsvinder. Du er et rigtigt menneske i en rigtig browser; Cloudflare lukker dig ind.
- Klik på "AI Suggest Fields" i Thunderbit-sidepanelet. AI’en scanner siden og foreslår datakolonner som "Product Name", "Price", "Rating" eller det, der er relevant.
- Gennemgå de foreslåede felter. Fjern det, du ikke skal bruge, og tilføj egne felter ved at beskrive ønsket på almindeligt engelsk.
- Klik på "Scrape." Thunderbit udtrækker data fra den synlige side.
- Eksportér til Google Sheets, Excel, Airtable, Notion, CSV eller JSON.
For sider med pagination håndterer Thunderbit både klikbaseret pagination og infinite scroll. Til detaljesider (for eksempel hvis du har en liste med produktlinks og vil hente specifikationer fra hver enkelt side), kan du bruge subpage scraping — Thunderbit besøger hver linket detaljeside og beriger din tabel.
Efter min erfaring tager denne workflow omkring 5–10 minutter fra installation til eksporteret regneark for et typisk dataset på 50–100 rækker.
Hvornår browserbaseret scraping fungerer bedst — og hvornår det ikke gør
Jeg vil være ærlig omkring begrænsningerne. Browserbaseret scraping er bundet til din sessionshastighed. Den er ideel til moderate opgaver — fra hundreder til lave tusinder af sider. Hvis du skal crawl’e millioner af sider på en fast tidsplan, vil du have mere glæde af kodebaserede eller API-baserede metoder.
Thunderbit’s Cloud Scraping-option kan gøre tingene hurtigere ved at scrape op til 50 sider ad gangen på offentligt tilgængelige sites. Og til udvikler-workflows eller større skala håndterer Thunderbit’s Web Scraper API JavaScript-rendering, anti-bot-beskyttelse og proxy-rotation med batchbehandling af op til 50–100 URL’er pr. request.
Men for den forretningsbruger, der scraper leads, prisdata eller boligannoncer i en fornuftig skala? Det her er ofte den eneste metode, du behøver. Ingen kode, ingen proxies, ingen vedligeholdelse.
Trin 3: TLS-fingeraftryksspoofing med curl_cffi (let kode-tilgang)
Hvis du er komfortabel med Python, og no-code-ruten ikke passer til dit workflow, er curl_cffi den letteste kodebaserede løsning. Det er en Python-binding omkring libcurl, der kan efterligne rigtige browseres TLS-fingeraftryk. I modsætning til requests eller httpx ligner dit TLS-handshake noget, der kommer fra Chrome eller Safari.
Pr. 2026 inkluderer understøttede impersonation-targets chrome136, safari184 og mange historiske profiler. Biblioteket havde en PyPI-udgivelse så sent som i april 2026, så det vedligeholdes aktivt.
Hvornår du bør bruge det: Sites med Cloudflare på Free- eller Pro-niveau, som primært er afhængige af passiv fingerprinting — ingen aktiv JavaScript-challenge, ingen Turnstile.
Grundlæggende eksempel:
from curl_cffi import requests
url = "https://example.com/products"
resp = requests.get(
url,
impersonate="chrome136",
headers={
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"accept-language": "en-US,en;q=0.9",
},
timeout=30,
)
print(resp.status_code)
print(resp.text[:500])
En ting, der ofte driller: Sørg for, at din User-Agent matcher impersonation-targetet. Hvis du efterligner Chrome 136, så send ikke en User-Agent-streng for Chrome 120. Mismatch er et signal.
Begrænsninger: curl_cffi kører ikke JavaScript. Hvis sitet viser en "Checking your browser"-challenge eller en Turnstile-widget, virker denne metode ikke. Den er heller ikke nyttig til sites, der kræver cookiebaseret sessionstate fra en browserchallenge. Tænk på den som et hurtigt og billigt første forsøg mod ren passiv beskyttelse.
Alternativer i samme familie: tls-client og curl-impersonate tilbyder lignende TLS-impersonation-funktioner.
Trin 4: Stealth-browserautomatisering (Puppeteer Stealth og SeleniumBase UC)
TLS-spoofing er ikke nok, når sitet kræver JavaScript-kørsel, aktive challenges eller Turnstile. På det tidspunkt har du brug for en fuld browser. To hovedmuligheder:
- SeleniumBase UC Mode (Python): Dokumentationen beskriver direkte UC Mode som en måde, hvor automatisering virker mere menneskelig og undgår anti-bot-tjenester. Den indeholder eksempler på håndtering af Cloudflare Turnstile.
- Puppeteer med
puppeteer-extra-plugin-stealth(Node.js): Fortsat meget brugt, men i stigende grad skrøbelig i 2026. Community-rapporter beskriver fejl på grund af CDP-detektion og uoverensstemmende browserprofiler.
Begge værktøjer starter en rigtig Chromium-browser, men patcher signaler, som afslører automation: navigator.webdriver, WebGL-metadata, plugin-lister og mere.
Konfigurationstips, der faktisk betyder noget:
- Brug headed mode (ikke headless). SeleniumBase’s dokumentation advarer om, at UC Mode kan opdages i headless-mode. På Linux-servere kan du bruge en virtuel skærm.
- Randomisér viewport-størrelse og User-Agent, men hold dem konsistente med hinanden og med din proxies geografiske placering.
- Tilføj realistiske forsinkelser mellem handlinger. Et 200ms mellemrum mellem sideindlæsninger skriger “bot”.
- Gem cookies og browserprofiler efter den første challenge. Løs ikke samme challenge for hver request.
- Kombinér med residential proxies for bedre IP-omdømme.
Udfordringen med denne tilgang er vedligeholdelse. Browserautomatisering går i stykker, når Chrome opdateres, Cloudflare tilføjer et nyt signal, et stealth-plugin halter bagefter, eller et target tilføjer path-specifik Turnstile. En ScrapeOps-benchmark fandt, at mange stealth-browser-opsætninger fejler fingerprint-tests på grund af "franken-fingerprint"-kombinationer — uoverensstemmende timezone/sprog/proxy-geografi.
Metoden er kraftfuld, men dyr i drift. Afsæt tid til løbende fixes.
Proxy-rotation: Hvorfor IP betyder lige så meget som fingerprints
Selv med perfekt browser-stealth vil for mange requests fra samme IP udløse rate limits. Cloudflare stoler langt mere på residential- og mobil-IP’er end på datacenter-IP’er.
- Residential proxies: Ca. $1.50–$8+/GB ved lavere volumen i 2026. Mere betroede, men dyrere.
- Datacenter proxies: Billigere, men fejler hurtigt på seriøse Cloudflare-targets.
- Rotationsstrategi: Rotér pr. session, ikke pr. request. Rotation pr. request ødelægger sessionbundne cookies og
cf_clearance. Hold IP, cookies og fingerprint konsistente inden for en session.
Der findes ikke nogen magisk “minimum proxy-pool-størrelse”. En low-volume lead-scrape kan fungere med få sticky residential sessions; en højvolumen prisovervågning kan kræve hundredvis af exits plus retry-logik.
Trin 5: FlareSolverr — den open source Cloudflare-bypass-server
FlareSolverr er en open source-proxyserver, der bruger Chromium med undetected-chromedriver i en Docker-container til at løse Cloudflare-challenges og returnere cookies/headere til genbrug. Den fik en v3.5.0-udgivelse i maj 2026, så den vedligeholdes stadig aktivt.
Hvornår du bør bruge den: Server-side scraping-pipelines, hvor du har brug for en vedvarende challenge-løsningsservice — for eksempel et automatiseret job, der kører hver nat og har brug for friske cf_clearance-cookies.
Sådan fungerer den: Din scraper sender en URL til FlareSolverr’s API. FlareSolverr åbner siden i en browser, forsøger at løse challenge’en og returnerer HTML plus cookies. Du kan derefter genbruge disse cookies i din almindelige HTTP-klient til efterfølgende requests.
Opsætning i korte træk: Docker Compose, start containeren, send POST-requests til den lokale API-endpoint. ScrapeOps har en god gennemgang.
Begrænsninger, jeg gerne vil være helt åben om:
- Kan ikke pålideligt løse interaktive Turnstile-challenges eller Enterprise Bot Management.
- GitHub-issues og Reddit-tråde viser inkonsistent adfærd: challenge-detektion overses, Turnstile-timeouts, sidecrashes.
- Kræver Docker-infrastruktur og løbende vedligeholdelse.
- Ressourcetung — hver challenge-løsning starter en browserkontekst.
Anslået driftssikkerhed: 60–80% på mellem-beskyttede targets. Lavere for Enterprise, højere for enklere challenge-sider. Hvis FlareSolverr ikke er nok, er det tid til at overveje betalte API’er.
Trin 6: Betalte scraping-API’er, der håndterer Cloudflare for dig
Nogle gange giver regnestykket bare sig selv: Vedligeholdelse af din egen stealth-infrastruktur koster mere i udviklingstimer end et abonnement. Betalte scraping-API’er overlader hele våbenkapløbet til en dedikeret provider — du sender en URL, og de håndterer fingerprinting, proxies, challenge-løsning og retries.
Sådan sammenligner du dem:
| Provider | Cloudflare-support | JS-rendering | Residential proxies | Struktureret output | Pris-model |
|---|---|---|---|---|---|
| ScrapingBee | Ja | Ja | Ja | Kun HTML | Per-request credits |
| ZenRows | Ja (påstår >99% succes) | Ja | Ja (premium) | HTML, noget parsing | CPM med multiplikatorer |
| Scrapfly | Ja (angiver CF, Akamai, DataDome) | Ja | Ja | HTML, noget parsing | Kreditbaseret |
| Browserless | Ja | Ja (headless Chrome) | Ja (indbygget) | HTML, screenshots | Enhedsbaseret |
| Thunderbit API | Ja | Ja | Ja | Struktureret JSON/CSV med AI-schema | Gratis niveau + betalte planer |
Hvornår det giver mening: Højvolumen scraping, enterprise-niveau krav til driftssikkerhed, eller når dit team ikke vil vedligeholde scraping-infrastruktur. Prisniveau: cirka $30–$500+/måned for små til mellemstore behov, og højere ved enterprise-volumen.
Thunderbit API er værd at nævne særskilt, fordi den leverer strukturerede data — ikke bare rå HTML. Dens Extract-endpoint kan batch-behandle op til 50 URL’er pr. request og returnere JSON/CSV ud fra et AI-drevet schema — nyttigt, hvis du har brug for rene, analyseklare data i stedet for HTML, du selv skal parse.
Ærlig driftssikkerhedstavle: Hvad der faktisk virker — og hvad der går i stykker
Jeg har fulgt community-rapporter, GitHub-issues og leverandørpåstande gennem hele 2025–2026. Det følgende er en ærlig sammenligning. Tallene er vejledende estimater, ikke laboratoriemålinger:

| Metode | Est. succesrate | Vedligeholdelsesbyrde | Går i stykker når… | Prisniveau |
|---|---|---|---|---|
| Intern API (hvis den findes) | ~90–99% | Lav | API ændres, auth tilføjes, tokens bliver signerede | Gratis |
| Browser-extension (Thunderbit) | ~85–95% (rigtig session) | Lav (AI tilpasser sig layoutændringer) | Sitet kræver særlig auth-flow, aggressiv Turnstile pr. handling | Gratis niveau tilgængeligt |
curl_cffi / TLS-spoofing | ~70–85% | Mellem (fingerprint-opdateringer) | Cloudflare ændrer JA3-checks, aktiv JS-challenge kræves | Gratis |
| Puppeteer + stealth-plugin | ~70–90% | Høj (plugin-opdateringer halter) | CDP-detektion, nye fingerprint-signaler, headless-detektion | Gratis + proxyomkostninger |
| FlareSolverr | ~60–80% | Høj (Docker, afhængigheds-drift) | Enterprise-niveau beskyttelse, Turnstile-interaktion | Gratis + infrastruktur |
| Betalt scraping-API | ~85–95% | Lav (provider vedligeholder) | Provideren er ikke opdateret; budgettet er opbrugt | ~$30–500+/md |
Den vigtigste kolonne er ikke succesraten — det er "Går i stykker når." Hver metode har en fejlmode. Den bedste strategi er at vælge den metode, der kræver mindst arbejde, og som virker for dit target, og så have en fallback-plan.
Der findes ingen permanent løsning. Cloudflare opdaterer hele tiden. Våbenkapløbet er virkeligt.
Tips til at holde dig under Cloudflare’s radar (uanset hvilken metode du bruger)
Uanset hvilken metode du vælger, er der nogle vaner, der holder dig under Cloudflare’s radar længere:
- Respektér rate limits. Tilføj realistiske pauser mellem requests — mindst 2–5 sekunder ved menneskelignende browsing. At hamre en side med maskinhastighed er den hurtigste vej til at blive blokeret.
- Hold dit fingerprint konsistent. User-Agent, TLS-fingeraftryk, browser-version, timezone, locale og IP-geografi bør fortælle samme historie. En Chrome 136 User-Agent fra en tysk IP med
en-USlocale og et Python-TLS-handshake er en modsigelse. - Genbrug cookies og sessions efter en challenge er løst. Løs ikke samme challenge for hver request.
- Skift ikke IP midt i en session. Cloudflare følger sessionens kontinuitet.
- Brug residential- eller mobil-IP’er, når brugsscenariet og budgettet kan bære det.
- Hold øje med soft blocks: challenge-HTML, hvor du forventede JSON, tomme tabeller, login-redirects eller sider, der mistænkeligt ligner AI Labyrinth-honeypots.
- Undgå spidsbelastningstider, hvor site-ejere kan stramme WAF-reglerne.
- Byg fallback-stier: API først → browsersession som nummer to → betalt provider som nummer tre.
For Thunderbit-brugere specifikt tilpasser AI’en sig automatisk til ændringer i sidens layout, så du bruger mindre tid på at vedligeholde CSS-selectors og mere tid på faktisk at bruge dataene.
En kort bemærkning om juridiske og etiske forhold
Ikke hovedfokus i denne artikel, men for vigtigt til at springe over.
Scraping af offentligt tilgængelige data har i nogle sammenhænge været juridisk gunstigt i USA — hiQ v. LinkedIns CFAA-begrundelse overlevede en remand fra Højesteret, selv om parterne indgik forlig i 2022, og det fulde billede er nuanceret. Mere nyligt sagsøgte Reddit Anthropic i 2025 over påstået scraping af brugerkommentarer, og Reddit sagsøgte også Perplexity og data-scraping-firmaer senere samme år.
I EU gælder GDPR, når persondata er involveret, og EU AI Act tilføjer særlige forpligtelser omkring ikke-målrettet scraping til AI-træning.
Praktiske tommelfingerregler:
- Tjek altid sitets vilkår og betingelser.
- Cloudflare-beskyttelse er et signal om, at site-ejeren ønsker at kontrollere automatiseret adgang — respekter den intention.
- Undgå at indsamle persondata uden et legitimt grundlag.
- Ved kommercielle eller højvolumen-workflows bør du foretrække officielle API’er, licenserede data eller skriftlig tilladelse, når det er muligt.
- Er du i tvivl, så rådfør dig med en jurist om netop din use case og jurisdiktion.
Thunderbit er designet til legitime forretningsformål — leadgenerering, prisovervågning, markedsresearch — ved brug af offentligt tilgængelige data.
Afrunding: Hvad du bør prøve først, og hvad du bør prøve bagefter
Den største tidsbesparelse i hele den her artikel er ikke et værktøj eller et kodeeksempel — det er at identificere beskyttelsesniveauet, før du går i gang. Det alene sparer dig for timer med fejlfinding på en metode, der aldrig ville have virket.
Start her:
- Tjek om der findes en intern API (den er gratis, hurtig og ofte overset).
- Hvis du er en forretningsbruger, der ikke skriver kode, så prøv Thunderbit’s Chrome Extension — din rigtige browsersession er dit bedste våben mod Cloudflare.
- Hvis du er udvikler, og targetet kun bruger passiv fingerprinting, så prøv
curl_cffi. - Eskalér først til stealth-browsere, FlareSolverr eller betalte API’er, når de enklere metoder fejler.
Der findes ikke én permanent metode. Kombinér det rigtige værktøj til din skala med en fallback-plan, og du kommer til at bruge langt mindre tid på at stirre på 403-sider.
Hvis du vil gå dybere, har vi skrevet om web scraping uden kodning, AI web scraping og de bedste AI-webscrapers på Thunderbit-bloggen. Og hvis du vil se extensionen i praksis, så tjek Thunderbit YouTube-kanalen for walkthrough-videoer.
Prøv Thunderbit på sites beskyttet af Cloudflare
Prøv Thunderbit AI Web Scraper Get Started Free
Ofte stillede spørgsmål
1. Kan man omgå Cloudflare-beskyttelse helt?
Ingen enkelt metode garanterer 100% succes, især ikke mod Enterprise-niveau Bot Management med Turnstile, JA4-fingerprinting og AI Labyrinth. De mest pålidelige metoder kombinerer ægte browser-fingerprints med et godt IP-omdømme. At finde en intern API er det tætteste, du kommer på en “fuld” bypass, fordi det helt undgår Cloudflare — men ikke alle sites har en.
2. Er det lovligt at omgå Cloudflare ved scraping?
Det afhænger af din jurisdiktion, sitets vilkår og hvilken data du indsamler. Scraping af offentligt tilgængelige data har i nogle sammenhænge været juridisk gunstigt i USA (hiQ v. LinkedIn), men at omgå tekniske adgangskontroller, overtræde ToS eller indsamle persondata uden et legitimt grundlag kan medføre juridisk risiko. Til kommercielle workflows bør du, når det er muligt, foretrække officielle API’er eller licenserede data og søge juridisk rådgivning, hvis du er i tvivl.
3. Hvad er den nemmeste måde at omgå Cloudflare uden kodning?
Browser-extensions som Thunderbit, der kører inde i din rigtige Chrome-session, håndterer Cloudflare-challenges automatisk — du interagerer med sitet som en normal bruger og lader derefter extensionen udtrække og eksportere data. Ingen Python, ingen Docker, ingen proxykonfiguration.
4. Hvorfor virker min scraper på nogle Cloudflare-sites, men ikke på andre?
Cloudflare’s beskyttelsesniveau varierer markant efter plan (Free, Pro, Business, Enterprise) og konfiguration. En metode, der virker mod simple JS-checks på et Free-plan-site, kan fejle mod Turnstile eller fuldt Bot Management på et Enterprise-site. Identificér altid beskyttelsesniveauet først — tjek om du ser en simpel JS-check, en Managed Challenge eller en Turnstile-widget — før du vælger din bypass-metode.
5. Hvor ofte går Cloudflare-bypass-metoder i stykker?
Kodebaserede metoder som stealth-plugins og TLS-spoofing kan blive dårligere hver few uger til måneder på svære targets, når Cloudflare opdaterer sin detektion. Betalte API’er og værktøjer, der bruger rigtige browsersessioner, er typisk mere robuste, fordi de tilpasser sig på infrastruktur- eller brugersessionsniveau. Interne API’er går sjældent i stykker, medmindre sitet omlægger backend eller ændrer sin autentificeringsmodel. Den sikreste langsigtede strategi er at have flere fallback-metoder i stedet for kun at stole på én tilgang.
Læs mere


