🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
★ 100,817⑂ 10,527👁 348⑃ 316● 183▤ 55◈ 52
100,817
stars
+655+8,212+14,146
10,527
forks
348
watchers
316
prs
183
issues
55
releases
52
discussions
README
Effortless Web Scraping for the Modern Web
Selection methods
·
Fetchers
·
Spiders
·
Proxy Rotation
·
CLI
·
MCP
Scrapling is a Python Web Scraping framework that brings fast HTTP requests, stealth browsers, powerful parsing, and concurrent crawling into one library.
Scrape static pages, render JavaScript, interact with websites, and extract data from the API calls behind them. Build crawlers with reusable sessions, proxy rotation, automatic retries, pause/resume, and built-in data exports.
Use it from Python, the terminal, or your AI agent through its MCP server and Agent Skill. From extracting a few fields to collecting a whole website as clean Markdown, Scrapling covers the full scraping workflow.
What you can do with Scrapling
- Fetch & interact: Fast HTTP requests, stealth browsers, JavaScript rendering, Cloudflare Turnstile/Interstitial handling, persistent sessions, and background API capture.
- Parse & extract: CSS, XPath, text and regex search, adaptive element tracking, similar-element matching, and clean Markdown output.
- Crawl & export: Concurrent spiders, proxy rotation, retries, AutoThrottle, pause/resume, streaming, ready-made templates, and JSON/JSONL/CSV/XML exports.
- Scrape with AI or from your terminal: An MCP server for AI agents to browse and extract data, an Agent Skill, CLI commands, and an interactive shell.
Start with a single page:
python
from scrapling.fetchers import Fetcher
page = Fetcher.get('https://quotes.toscrape.com/')
quotes = page.css('.quote .text::text').getall()
print(quotes)
Or scale up with a spider:
python
from scrapling.spiders import Spider, Response
class QuotesSpider(Spider):
name = "quotes"
start_urls = ["https://quotes.toscrape.com/"]
async def parse(self, response: Response):
for quote in response.css('.quote'):
yield {
"text": quote.css('.text::text').get(),
"author": quote.css('.author::text').get(),
}
result = QuotesSpider().start()
print(len(result.items))
result.items.to_json("quotes.json")
This prints 10 and saves the quotes and authors to quotes.json.
Platinum Sponsors
NodeMaven - The most efficient proxy provider for Web Scraping and Automation with the Highest Quality IP on the market. SCRAPLING2X - 2X traffic for Black Friday
Scrapling handles Cloudflare Turnstile. For enterprise-grade protection,
Hyper Solutions
provides API endpoints that generate valid antibot tokens for Akamai, DataDome, Kasada, and Incapsula. Simple API calls, no browser automation required.
Top issues
#563<base href> ignored when resolving relative URLs1 comments · 2026-11-05#558Response.follow() inherits credentials when following links to a different origin0 comments · 2026-11-05#557cannot access online sites like coupang.0 comments · 2026-11-04
Discussions
#566When the model card does not say: Scrapling + quote-checked field extraction0 comments · 2026-11-06#549docker pull ghcr.io/d4vinci/scrapling:latest1 comments · 2026-11-03#544ai cloud gpt Facebook TikTok telegram1 comments · 2026-11-02#532Add link11 waf bypass0 comments · 2026-10-23#512Showcase: ATS Zero-Browser Gateway — Protocol-level scraping for Workday & ATS boards0 comments · 2026-10-15#479Free, open-source Chromium with native fingerprint spoofing, usable via executable_path (from the AI agent that runs on it)1 comments · 2026-10-05#449similarity-based element relocation1 comments · 2026-09-14#369Freshness at the fact level — verify an extracted value is still current before an agent acts0 comments · 2026-07-06
Latest release
Release v0.5.1 v0.5.1 2026-11-04Small version bump, big browser upgrade! This version lets AI agents follow motion and control drag and drop, adds dedicated remote browser sessions, and brings fixes across parsing, spiders, proxies, and the shell 🚀 With this update, we extend the limits of current AI models 🔥 [!NOTE] Follow us on X for daily tips and tricks [!WARNING] This release introduces breaking changes to remote browser connections. Connecting to remote browsers now requires a new browser session class. Check the remote-session migration guide before updating. 🚀 New Stuff and quality of life changes
相关报道 (7)
bilibili爬虫改版就废?8.2 万星的 Scrapling 自己把元素找回来了2026-09-21blog.csdnScrapling 保姆级教程来了,零基础入门!狂揽 29.9 万 Star 的爬虫神器2026-06-29blog.csdnGitHub 开源项目解析:D4Vinci/Scrapling —— Python 网页抓取与自动化处理工具2026-06-02MSNScrapling成OpenClaw“神助攻”:轻松绕拦截,网页抓取稳又省!2026-03-12WIRED「Scrapling」でボット対策を回避? OpenClawユーザーの間で拡散するツール2026-03-01Pasquale Pillitteri2026 年抓取互联网的 10 个 GitHub 仓库 (附真实星标)2026-06-30新浪财经OpenClaw最强外挂出现:小龙虾抓不到数据有救了!_手机新浪网2026-06-02
News & coverage (6)
Hacker NewsScrapling: Fast, Adaptive Web Scraping for Python▲ 4 · 1 comments · 2024-10-13Hacker NewsScrapling v0.2.99 – Easy, effortless Web Scraping With Python as it should be▲ 1 · 0 comments · 2025-04-30xClandestine on X: "GitHub - D4Vinci/Scrapling: ️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! · GitHub https ...2026-03-05WiredOpenClaw Users Are Allegedly Bypassing Anti-Bot Systems2026-02-25Pasquale Pillitteri10 GitHub Repos for Scraping the Internet in 2026 (Real Stars)2026-06-30KorbenScrapling - The Python scraper that fixes itself2026-04-28