云图AI云图AI
S

Scrapling

BSD-3-ClausePython

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

72kFork 7k更新于 2026-08-01

软件介绍

Scrapling 是一个自适应的 Web 抓取框架,能够处理从单次请求到全规模爬取的所有任务。其解析器能学习网站变化,在页面更新时自动重新定位元素;其抓取器可开箱即用地绕过 Cloudflare Turnstile 等反爬系统;其爬虫框架支持并发、多会话爬取,具备暂停/恢复和自动代理轮换功能。所有功能仅需几行 Python 代码即可实现。

核心功能

自适应解析:智能跟踪元素,网站结构变化后自动重新定位
多类型抓取器:支持 HTTP 请求、无头浏览器、隐身模式,可绕过 Cloudflare Turnstile
爬虫框架:类似 Scrapy 的 API,支持并发、多会话、暂停/恢复、流式输出
代理轮换:内置 ProxyRotator,支持循环或自定义策略
MCP 服务器:内置 MCP 服务器,支持 AI 辅助抓取,降低 token 消耗
高性能:解析速度远超同类库,内存占用低
交互式 Shell:内置 IPython shell,支持 curl 转换、实时预览
CLI 工具:无需编程即可从终端抓取网页并导出为文本/Markdown/HTML

适用场景

数据采集:从电商、社交媒体等网站抓取结构化数据监控与爬取:定期监控网站变化,自动爬取更新内容AI 数据准备:为 AI 模型提供训练数据或实时上下文自动化测试:模拟浏览器行为,测试网站反爬机制学术研究:用于网络分析、数据挖掘等研究项目

Docker 部署

docker pull pyd4vinci/scrapling

FAQ

Scrapling 需要 Python 什么版本?

Scrapling 要求 Python 3.10 或更高版本。

如何安装 Scrapling 及其所有依赖?

运行 pip install "scrapling[all]" 安装所有依赖,然后运行 scrapling install 安装浏览器和系统依赖。

Scrapling 能否绕过 Cloudflare 防护?

是的,StealthyFetcher 可以自动绕过 Cloudflare Turnstile 和 Interstitial 页面。

Scrapling 支持异步操作吗?

支持,所有抓取器都有对应的异步版本(如 AsyncFetcher、AsyncStealthySession),爬虫框架也基于异步。

如何暂停和恢复爬虫?

在 Spider 中设置 crawldir 参数,运行后按 Ctrl+C 会优雅暂停,重新启动时传入相同目录即可恢复。