scrapling

Fetch static, JavaScript-heavy, or anti-bot protected web pages via Scrapling.

Updated Apr 9, 2026
One-click install
npx skills add https://github.com/MarbleSodas/Mavis --skill scrapling-marblesodas
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: scrapling
Source: https://github.com/MarbleSodas/Mavis/tree/main/optional-skills/research/scrapling
Command: npx skills add https://github.com/MarbleSodas/Mavis --skill scrapling-marblesodas

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Scrapling helps you collect content from websites when static HTTP requests fail or when pages require JavaScript rendering and anti-bot evasion, saving you from brittle, manual browsing workflows.

Core Features & Use Cases

  • Multi-strategy fetching: Use HTTP for fast static pages, dynamic JS fetching for SPAs, and stealth modes for anti-bot protected sites.
  • Cloudflare/anti-bot focused automation: Attempt Cloudflare-related bypass flows and reduce fingerprinting signals via stealth options.
  • Spider crawling: Crawl multiple linked pages and extract structured items with a spider framework.
  • Extraction outputs: Save results as HTML/MD/TXT/JSON/JSONL depending on the desired output format.

Quick Start

Install the skill with pip, then run a single command to extract a protected page into a local file while enabling the built-in Cloudflare-solving option.

Frequently Asked Questions about scrapling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scrape JavaScript-heavy single page applications?

To scrape JavaScript-heavy single page applications, you can use dynamic browser automation fetchers to render the page content before extracting the text. This approach reliably executes client-side scripts to load the final DOM elements.

What is the best way to bypass Cloudflare protection when web scraping?

Bypassing Cloudflare protection during web scraping involves using stealth automation modes that reduce browser fingerprinting and attempt anti-bot solving flows. This helps you reliably access and extract content from protected pages without triggering blocks.

How do I crawl multiple linked pages and extract structured data?

To crawl multiple linked pages and extract structured data, you can configure a spider framework to navigate link graphs. This allows you to systematically collect items across connected pages and output the results as JSON or JSONL files.

Can I use Python to fetch static HTML and also render dynamic web pages?

Yes, you can use Python to fetch static HTML via HTTP requests and render dynamic web pages using browser automation. This multi-strategy approach lets you choose fast HTTP fetching for static sites and dynamic rendering for JavaScript-heavy SPAs.

What output formats can I generate when scraping web content?

When scraping web content, you can generate and save extraction outputs as HTML, Markdown, TXT, JSON, or JSONL files. These formats allow you to store raw page content or structured data depending on your downstream processing needs.

Why do my static HTTP requests fail on modern websites?

Static HTTP requests fail on modern websites because the pages require JavaScript rendering to load content or have anti-bot protection layers. Using dynamic fetching and stealth configurations solves this by rendering the page and evading detection.