AX 爱鲜报

Scrapling

Scrapling 是一个 Python 网页抓取框架,集快速 HTTP 请求、隐身浏览器、JS 渲染、CSS/XPath 解析、并发爬虫与代理轮换于一体,支持 CLI、MCP 服务器和 AI Agent 调用,覆盖从单页抓取到整站采集的完整流程。

过去 7 天收获 5 颗 Star

爱鲜报评分

0.0

0 人评分

开源 · BSD-3-Clause #Python #AI #MCP #Playwright #爬虫 #网页抓取

9k

星数

是

中文

Python

主语言

是

活跃

42

贡献者

人工分析

EDITORIAL

推荐理由

Scrapling 把请求、渲染、解析、爬虫调度和数据导出整合进一个库,避免在 requests、Playwright、Scrapy 之间来回拼装。它内置隐身浏览器与 Cloudflare 挑战处理,并提供 MCP 服务器和 Agent Skill,方便接入 AI 工作流。9 万+ Star 与活跃文档说明生态成熟,适合需要稳定采集能力的团队。

适用场景

  • 静态页面与 API 数据批量采集
  • 需要 JS 渲染或反爬对抗的站点抓取
  • 构建带代理轮换与断点续爬的并发爬虫
  • 为 AI Agent 提供网页浏览与数据提取能力
  • 通过 CLI 或交互式 Shell 快速验证抓取逻辑

优点

  • 请求、渲染、解析、爬虫、导出一体化,减少技术栈拼接
  • 内置隐身浏览器与 Cloudflare Turnstile 处理,反爬适应性强
  • 支持 CSS/XPath/正则/自适应元素追踪,选择器表达力强
  • 提供 MCP 服务器、Agent Skill 与 CLI,便于 AI 与自动化集成
  • 并发爬虫支持代理轮换、重试、限速、暂停恢复与多格式导出

缺点

  • 隐身浏览器与渲染依赖 Playwright 等较重运行时,环境配置成本较高
  • 反爬对抗能力需随目标站点策略变化持续维护,不保证长期有效
  • 大规模爬取需自行承担代理成本与合规风险
  • 中文文档为翻译版,深度问题仍以英文文档与社区为主
上手难度 进阶

Scrapling 是什么

Scrapling 是一个面向现代 Web 的 Python 抓取框架,把快速 HTTP 请求、隐身浏览器、JavaScript 渲染、解析提取、并发爬虫与数据导出整合到同一个库中。你可以从 Python 代码、终端 CLI,或通过 MCP 服务器让 AI Agent 直接调用它。

核心能力

抓取与交互

  • 快速 HTTP 请求与隐身浏览器两种模式
  • JavaScript 渲染、Cloudflare Turnstile/Interstitial 处理
  • 持久化会话与后台 API 请求捕获

解析与提取

  • 支持 CSS、XPath、文本与正则搜索
  • 自适应元素追踪与相似元素匹配
  • 可直接输出干净的 Markdown

爬虫与导出

  • 并发 Spider、代理轮换、自动重试与 AutoThrottle
  • 支持暂停/恢复、流式处理与现成模板
  • 导出 JSON、JSONL、CSV、XML

AI 与终端

  • 内置 MCP 服务器与 Agent Skill,供 AI Agent 浏览和提取数据
  • 提供 CLI 命令与交互式 Shell

快速上手

单页抓取示例:

from scrapling.fetchers import Fetcher

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

用 Spider 扩展到整站采集:

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()
result.items.to_json("quotes.json")

适用与注意

Scrapling 适合需要稳定采集能力的团队与个人开发者,尤其是目标站点有 JS 渲染或反爬机制的场景。使用时需注意:隐身浏览器依赖较重运行时,环境配置有一定成本;反爬策略需随站点变化持续维护;大规模采集应关注代理成本与目标站点的合规要求。

相关链接

  • 文档:https://scrapling.readthedocs.io
  • 社区:Discord 与 X(@Scrapling_dev)

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。