Scrapling 网页抓取框架

从单页请求到并发爬取,用一套 Python 工具完成网页抓取与数据提取。

Star 数
★ 89k
最近更新
1 天前
License
BSD-3-Clause
主语言
Python

30 秒速览

运行形态
代码库 / SDK命令行工具MCP 服务器
可在哪里用
通用 · 跨平台Claude.ai(部分支持)
费用
免费,无需付费服务
上手难度
中 · 需要几步配置
开始前需要
Python 3.10 或更高版本Playwright 浏览器(用于浏览器抓取器)Shell / 命令行网络访问本地文件系统MCP Server
典型场景
需要从静态网页提取结构化字段的 Python 开发者,可用 Fetcher 和 CSS/XPath 选择器快速读取页面。
不适合
  • 只需简单静态页面抓取的用户
  • 不需要运行 Python 或访问网络的环境

这个 Agent 能做什么,适合哪些场景?

Scrapling 是一个 Python 网页抓取框架,提供 HTTP Fetcher、基于 Playwright 的 StealthyFetcher、解析器和 Spider 爬虫。它可以抓取静态页面、渲染 JavaScript 页面、使用 CSS 或 XPath 提取内容,并捕获浏览器会话中的 API 响应。Spider 支持并发、代理轮换、重试、自动限速以及暂停和恢复,并可将结果导出为 JSON、JSONL、CSV 或 XML。用户可以将它作为 Python 库导入,也可以使用命令行工具;另外还提供供 AI 客户端调用的 MCP Server 和 Agent Skill。它需要本地 Python 环境和网络访问,浏览器抓取还需要安装浏览器依赖。

安装 scrapling 后,可用 Fetcher.get() 发起 HTTP 请求,并通过返回页面的 css()、xpath()、文本或正则查找方法提取内容;对于动态页面,可用 StealthyFetcher 或 StealthySession 运行浏览器抓取。需要批量采集时,可定义 Spider 子类,设置 start_urls 和异步 parse() 回调,生成 Request 或数据项,再用内置导出方法保存结果。Spider 可配置并发、代理轮换、重试、AutoThrottle 和 crawldir 检查点。命令行提供 scrapling extract get、scrapling extract fetch 和交互式 shell;可选 MCP Server 支持 AI 客户端进行网页浏览、提取、截图及访问已保存的登录状态和后台 API 响应。

  1. 需要从静态网页提取结构化字段的 Python 开发者,可用 Fetcher 和 CSS/XPath 选择器快速读取页面。
  2. 需要采集 JavaScript 动态内容的研究人员,可用 StealthyFetcher 渲染页面并读取 DOM。
  3. 需要跨多个页面持续采集的团队,可用 Spider 配置并发、重试、代理轮换和暂停恢复。
  4. 需要定期收集公开 Shopify 商品目录的开发者,可基于 ShopifySpider 获取商品变体数据。
  5. 希望从终端直接保存网页内容的用户,可用 scrapling extract 输出文本、Markdown 或 HTML。
  6. 希望让 Claude、Cursor 等 AI 客户端浏览网页并提取数据的用户,可配置 Scrapling MCP Server。

如何安装或部署这个 Agent?

需要 Python 3.10 或更高版本。基础安装提供解析器;使用 Fetcher 或 Spider 时安装 fetchers 额外依赖,并安装浏览器:

pip install "scrapling[fetchers]"
scrapling install

MCP Server、命令行 shell 和全部可选功能分别可通过额外依赖安装:

pip install "scrapling[ai]"
pip install "scrapling[shell]"
pip install "scrapling[all]"

HTTP 抓取不需要安装浏览器。README 未给出 MCP 客户端配置文件的具体格式或完整配置步骤。

如何使用这个 Agent?

单页 HTTP 抓取示例:

from scrapling.fetchers import Fetcher

page = Fetcher.get('https://quotes.toscrape.com/')
quotes = page.css('.quote .text::text').getall()
print(quotes)

终端提取并保存为 Markdown:

scrapling extract get 'https://quotes.toscrape.com/' quotes.md

批量采集时,可定义 Spider 子类并调用 start();结果可用 result.items.to_json() 保存。MCP Server 是供 AI 客户端使用的可选接口,需安装 scrapling[ai];README 未提供客户端配置示例。

这个 Agent 有哪些优点和局限?

优点
  • 同一框架覆盖 HTTP 请求、浏览器渲染、页面解析和并发 Spider 爬取。
  • 解析支持 CSS、XPath、文本和正则查找,也提供适应页面变化的元素跟踪。
  • Spider 内置代理轮换、重试、AutoThrottle、检查点恢复和多种数据导出。
  • 提供 CLI、交互式 shell、MCP Server 和 Agent Skill 等不同使用入口。
局限
  • 要求 Python 3.10 或更高版本,使用 Fetcher 和 Spider 需安装额外依赖。
  • 浏览器抓取需要下载浏览器及其系统依赖,安装步骤多于基础解析器。
  • MCP 客户端配置细节未在给出的 README 内容中说明。
  • 抓取目标需要网络访问;采用浏览器模式时还需运行 Playwright 浏览器。

这个 Agent 与同类方案有什么区别?

README 将 Spider API 描述为类似 Scrapy,并说明解析器与 Scrapy/Parsel、BeautifulSoup 风格的 API 相近;也提供将 scrapling_response 装饰器用于现有 Scrapy 回调的集成方式。若团队已经使用 Scrapy,可评估该集成;若需要单一框架覆盖 HTTP、浏览器抓取和爬虫调度,可评估 Scrapling。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Scrapling 网页抓取框架 当前 66 · 存在缺口 代码库 / SDK免费 ★ 89k 1 天前 Python —
wigolo 54 · 缺口较多 命令行工具免费 + 模型费 ★ 5.5k 23 天前 TypeScript Codex · Claude Code · OpenAI API · Claude API
CamoFox Browser Server 72 · 存在缺口 自托管服务免费 ★ 425 28 天前 JavaScript Claude Code
Uni-CLI 72 · 存在缺口 命令行工具免费 ★ 235 10 天前 TypeScript ChatGPT · Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
66/ 100 五分制 3.3 / 5
信任安全 13/29
可靠稳定 8/14
适用触发 14/18
规范维护 14/18
有效结果 12/13
证据核验 5/8
查看各维度的扣分理由
信任安全13 / 29 · 2.2/5

提供 allowed_domains、可选 robots.txt 遵循、域级延迟和会话关闭等控制;robots.txt 默认关闭,且代理轮换、隐身浏览器和反机器人绕过功能使外部请求影响较大,故最小权限与外部影响仅部分覆盖。README 说明 MCP 支持认证选项、保存登录态和 API 响应捕获,但所给材料未说明凭据存储、保留和访问控制;请求可以直接发起,未见逐次确认。暂停/恢复与会话关闭提供有限恢复手段。许可证和维护者字段可追溯到仓库作者,但发布者身份仍未知。依赖声明明确,但所给材料未展示锁定或依赖漏洞缓解。

可靠稳定8 / 14 · 2.9/5

蜘蛛指南与 README 对解析、跟进请求和导出流程基本一致,测试源中也有 MCP 行为断言;但静态审阅不能验证运行结果。依赖版本多为下限范围,未见锁文件或可用性保证。MCP 测试展示异常会返回错误文本,蜘蛛文档展示统计信息;普通用户错误处理覆盖证据有限。

适用触发14 / 18 · 3.9/5

材料覆盖单页抓取、并发蜘蛛、浏览器、HTTP、MCP、CLI、流式处理和多种导出,且面向 Python 开发者和 AI 工具。文档描述域限制、robots.txt 和会话类型等边界,但反机器人绕过等能力的适用边界及授权使用要求说明不足。蜘蛛配置可精确选择域、延迟与并发;文档列出 Python 3.10 及以上和多种使用入口,但部署环境细节有限。

规范维护14 / 18 · 3.9/5

README 按抓取、解析、爬取、AI 和开发体验组织,并链接专门文档;蜘蛛指南有先决知识、逐步教程、示例和后续阅读。安装说明未出现在所给 README 部分中,依赖项和可选项在 pyproject 中可见但安装步骤证据有限。名称和 API 术语总体一致,但材料同时展示多个接口,完整稳定性无法确认。限制说明包含 robots.txt 默认关闭及其行为细节,但未见全面的已知限制清单。BSD-3-Clause 许可证文本完整。版本字段为 0.5,并提供变更日志与发布说明入口;所给材料未含变更记录内容。pyproject 指定作者和维护者,但维护响应承诺或更新责任机制不明确。

有效结果12 / 13 · 4.6/5

示例提供可直接使用的 Python 代码、字段提取和 JSON/JSONL/CSV/XML 导出;爬虫框架将请求、解析、并发、重试和导出整合,较单页脚本有明确增益。浏览器、MCP、代理和依赖选项增加部署与运行成本;材料未提供定量成本或资源基准,README 的性能和覆盖率说法不能由所给文件独立确认。

证据核验5 / 8 · 3.1/5

README 的具体功能主张可与蜘蛛指南、pyproject、许可证和 MCP 测试片段相互对照;但提供的测试仅为部分源文件,静态审阅不代表执行验证。性能、覆盖率及日常使用规模等说法缺乏所给材料中的独立佐证。文档在机器人规则默认关闭等处给出具体条件;部分宣传性表述未明确区分测量事实与主张,因此未给满分。

风险与缓解建议
  • 该框架会向目标网站发出请求,并提供代理轮换、浏览器自动化和反机器人绕过能力;使用者应自行确认目标授权、适用规则和请求范围。
  • 材料提及 MCP 登录态和响应捕获,但没有说明敏感数据保留与访问控制;配置前应审查相关数据流。
证据充分度:低 评估于 2026年10月20日 审查版本 fd531313a499
查看完整评分方法 →

常见问题

使用 Scrapling 是否需要付费服务或 API 密钥?
README 记录的基础库、CLI、Spider 和 MCP Server 使用方式没有要求付费服务或 API 密钥。代理服务可能由外部供应商提供,但不是这些基础功能的明确前置条件。
最小安装能否直接使用 Fetcher 和 Spider?
不能。pip install scrapling 只包含解析器及其依赖;Fetcher 和 Spider 需要安装 scrapling[fetchers]。浏览器抓取还要运行 scrapling install。
它能处理 JavaScript 页面吗?
可以。使用 StealthyFetcher 或 StealthySession 进行浏览器抓取;这需要安装浏览器依赖。
Spider 可以暂停并继续运行吗?
可以。设置 crawldir 后,Spider 可保存待处理请求和已访问 URL;停止后使用相同目录重新启动即可恢复。已抓取的项目需单独保存。
Scrapling 会自动遵守 robots.txt 吗?
Spider 提供可选的 robots_txt_obey 标志,用于遵守 Disallow、Crawl-delay 和 Request-rate 指令;是否启用取决于配置。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents