Scrapling - Stealth Web Scraper

基于Scrapling的反检测网页抓取框架,支持绕过Cloudflare等反爬机制。

已扫描
适合谁
需要抓取复杂网页数据的技术人员、从事数据采集与分析的自动化从业者
不适合谁
无授权访问权限的用户、不熟悉Python或命令行操作的新手
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @jeminay/scrapling-fetcher

Skill 说明

命令、参数、文件名以原文为准

Scrapling 技能

源码地址: https://github.com/D4Vinci/Scrapling (开源项目,采用类 MIT 许可证)

PyPI 包名: scrapling — 首次使用前需安装(见下方说明)

⚠️ 仅对您有权限访问的网站进行爬取。请遵守 robots.txt 和服务条款。不得使用隐身模式绕过付费墙或未经授权访问受限内容。

安装(一次性操作,运行前需用户确认)

pip install scrapling[all]
patchright install chromium  # 隐身/动态模式所需
  • scrapling[all] 安装 patchright(Playwright 的隐身分支,作为 PyPI 包捆绑分发 —— 非拼写错误)、curl_cffi、MCP 服务器依赖项以及 IPython shell。
  • patchright install chromium 通过 patchright 自带的安装器下载 Chromium(约 100 MB),机制与 playwright install chromium 相同。
  • 运行前需用户确认 —— 将安装约 200 MB 的依赖和浏览器二进制文件。

脚本文件

scripts/scrape.py —— 用于三种获取模式的命令行封装工具。

# 基础获取(文本输出)
python3 ~/skills/scrapling/scripts/scrape.py <url> -q

# 使用 CSS 选择器提取内容
python3 ~/skills/scrapling/scripts/scrape.py <url> --selector ".class" -q

# 隐身模式(绕过 Cloudflare)—— 仅限您有权访问的站点使用
python3 ~/skills/scrapling/scripts/scrape.py <url> --mode stealth -q

# JSON 格式输出
python3 ~/skills/scrapling/scripts/scrape.py <url> --selector "h2" --json -q

获取模式

  • http(默认)—— 快速 HTTP 请求,支持浏览器 TLS 指纹伪装。适用于大多数网站。
  • stealth —— 无头 Chrome 浏览器,具备反检测功能。适用于 Cloudflare 或反机器人机制。
  • dynamic —— 完整的 Playwright 浏览器环境。适用于重度 JavaScript 的 SPA 网站。

各模式适用场景

  • web_fetch 返回 403/429/Cloudflare 验证页面 → 使用 --mode stealth
  • 页面内容需要执行 JavaScript → 使用 --mode dynamic
  • 普通网站,仅需获取文本或数据 → 使用 --mode http(默认)

Python 内联使用

如需超出 CLI 功能的自定义逻辑,请编写内联 Python 代码。详见 references/patterns.md 中的内容:

  • 自适应爬取(auto_save / adaptive —— 本地保存元素指纹)
  • 会话/Cookie 处理
  • 异步使用方式
  • XPath 支持、相似元素查找、属性提取

注意事项

  • MCP 服务器scrapling mcp):启动一个本地网络服务,用于 AI 原生爬取。仅在明确需要且信任的情况下启动 —— 该服务会暴露本地 HTTP 接口。
  • **auto_save=True**:将元素指纹持久化到磁盘,支持后续自适应重爬。会在工作目录创建本地状态。
  • 隐身/动态模式使用无头 Chromium —— 不需要 xvfb-run
  • 如需大规模爬取,请使用 Spider API(参见 Scrapling 文档)。
J
@jeminay

已收录 1 个 Skill

相关推荐