The three-tier fetching system
Scrapling gives you three fetchers, and you pick one based on how hard the target site is to scrape. Tier 1 — Fetcher uses curl_cffi to send plain HTTP requests that carry a real browser's TLS fingerprint (the JA3/JA4 signature a browser shows during the https handshake) for Chrome/Firefox/Safari/Edge, plus realistic headers generated by browserforge. No JavaScript runs, so there is no browser to fingerprint at all — it is the fastest option (~10MB footprint) and handles roughly 90% of pages. Tier 2 — DynamicFetcher is plain Playwright, used when a page builds its content with JavaScript; it adds helpers like wait_selector and network-idle waits but no special stealth. Tier 3 — StealthyFetcher wraps Patchright (the default) or Camoufox (set use_camoufox=True) and exposes flags like solve_cloudflare=True, block_webrtc=True, hide_canvas=True, and disable_webgl=True to reduce the signals anti-bot systems look for.
Cloudflare handling and adaptive selectors
Set solve_cloudflare=True and Scrapling spots the Cloudflare Turnstile or interstitial challenge page, waits for the challenge iframe to load, interacts with it, and waits for the redirect to the real page — all without paying for an external CAPTCHA-solving service. As the analysis stresses, it is not cracking the CAPTCHA; instead Patchright/Camoufox present a standards-compliant browser environment, so the page loads without an extra challenge step.
The unique feature is adaptive element tracking. Normally a CSS selector breaks the moment a site is redesigned and your scraper stops working. Scrapling can save the structural context of an element it matched — roughly, where it sat in the page and what surrounded it — and later re-find that same element by fuzzy structural matching even after the layout shifts. No other tool in this comparison offers this. It pairs with a fast lxml-based parser, a Scrapy-like spider with pause/resume checkpoints, and an MCP server for Claude/Cursor workflows.
When to use Scrapling
Use it when: you want one framework for an entire pipeline rather than stitching separate tools together; you have a mix of protection levels (cheap HTTP for most pages, browser stealth only for the hard ones); you scrape sites that frequently change their page layout; or you want AI-integrated scraping. Note: it does not add stealth of its own — Tier 3 inherits whatever Patchright or Camoufox provides — so against the hardest enterprise targets you are still limited by those engines. Scrapling is a Python orchestration layer that ties the pieces together, not a new detection-handling technique.
