核心信息
Scrapling 是 D4Vinci 开发的 Python 自适应网页抓取框架(50.6k Stars),内置自适应解析(网站改版自动重定位元素)、Cloudflare Turnstile 绕过、Spider 框架(类 Scrapy API)、多会话混用、断点续爬、开发者模式和 MCP 服务器,支持从单页提取到大规模并发爬取。
- 作者:Karim Shoair(D4Vinci)
- Stars:50.6k
- Forks:4.8k
- 许可证:BSD-3-Clause
- 版本:v0.4.8(2026-05-11,46 个 Release)
- 技术栈:Python 99.9%(3.10+, lxml, Playwright, TLS 指纹模拟)
- 测试覆盖:92%
核心功能
| 功能 | 说明 |
|---|---|
| 自适应解析 | 网站改版后自动通过相似度算法重定位元素,传递 adaptive=True |
| Cloudflare 绕过 | StealthyFetcher 内置浏览器隐身补丁,绕过 Turnstile/Interstitial |
| Spider 框架 | 类 Scrapy API(start_urls/parse/Request/Response),支持并发、多会话、暂停恢复 |
| 多会话混用 | 同一 Spider 内混合 HTTP 会话、隐身浏览器会话、全浏览器自动化会话 |
| 断点续爬 | Ctrl+C 优雅退出,重启从断点恢复 |
| 流式模式 | async for item in spider.stream() 实时产出数据 |
| 开发者模式 | 首次运行缓存响应,后续重放,无需重复请求即可迭代 |
| MCP 服务器 | 内建 Model Context Protocol 服务器,对接 Claude/Cursor |
| 自动选择器生成 | 为任意元素生成 CSS/XPath 选择器 |
| DNS 防泄漏 | 代理模式下可选 Cloudflare DoH |
| CLI 工具 | scrapling shell 交互式 Shell,scrapling extract 命令行提取 |
四层架构
- 解析层(
scrapling.parser)— DOM 解析、CSS/XPath 选择、相似度匹配、自动选择器生成,独立于任何抓取器 - 抓取器层(
scrapling.fetchers)—Fetcher(轻量 HTTP+TLS 指纹)、StealthyFetcher(浏览器隐身+CF 绕过)、DynamicFetcher(完整 Playwright 自动化) - Spider 框架(
scrapling.spiders)— 异步爬虫框架,处理并发、限速、会话路由、断点持久化、robots.txt、流式导出 - CLI & AI 层 — 命令行界面 + MCP 服务器
安装方式
pip install scrapling # 仅解析器
pip install "scrapling[fetchers]" # 含抓取器
pip install "scrapling[all]" # 全功能
docker pull pyd4vinci/scrapling # Docker关联连接
- Scrapling — 项目实体页面
- Web_Scraping — 网络爬虫核心概念
- Anti_Crawling — 反爬虫对抗
- Browser_Automation — 浏览器自动化
- Social_Media_Scraping — 社交平台数据采集
- CloakBrowser — 源码级隐身浏览器
- Browser_Harness — 自愈式浏览器桥接层