mcpField
S
scrapling

scrapling

github.com/cedriccmh数据与数据库471107 次安装19 周前更新
代码仓库

关于 scrapling

scrapling 是一项指导使用 Scrapling 抓取网页的技能,面向需要提取网页文本或结构化数据的场景。它从安全检查和 CLI 快速路径入手,并在复杂流程中指导选择 Fetcher、模板和参考资料。

主要功能

  1. 01检查并维护 Scrapling 版本
  2. 02优先使用 CLI 快速抽取
  3. 03按页面类型选择 Fetcher
  4. 04提供抓取与解析脚本模板
  5. 05包含授权、Cookie 和内容安全规则

适用场景

  1. 01提取网页正文或 Markdown
  2. 02抓取静态页面或需 JavaScript 的页面
  3. 03解析已有 HTML 内容
  4. 04构建登录后的抓取脚本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cedriccmh/claude-code-skill-scrapling --skill scrapling

安装后在 Claude Code 中输入/scrapling确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
README.md
LICENSE
references/
security.md
maintenance.md
site-patterns.md
cookie-vault.md
upstream-map.md
api-quick-ref.md
troubleshooting.md
templates/
basic_fetch.py
stealth_cloudflare.py
parse_only.py
session_login.py
tests/
test_pr1_pr3_content.py

详细介绍

来自项目 README

Scrapling 网页抓取 Skill

步骤 0:检查版本

python -c "import scrapling; print(scrapling.__version__)"

按项目使用的包管理器执行(pip / uv 等价命令见 references/maintenance.md):

  • 未安装 → 安装 scrapling[fetchers] + scrapling install
  • 有新版 → 升级 → 查 changelog 告知用户
  • 已最新 → 继续

项目根存在 uv.lock 或 pyproject.toml 含 [tool.uv],优先用 uv(uv add / uv run scrapling install);否则用 pip。

步骤 1:安全预检与 quick path

先查阅 references/security.md,确认授权、robots.txt / ToS、Prompt injection、cookie 保存与 redaction 边界。

简单文本 / Markdown / selector 抽取优先用 Scrapling CLI quick path,并默认加 --ai-targeted:

scrapling extract get "https://example.com/article" article.md --ai-targeted
scrapling extract fetch "https://example.com/app" app.md --ai-targeted --network-idle
scrapling extract stealthy-fetch "https://protected.example.com" page.md --ai-targeted --solve-cloudflare

CLI 无法满足复杂登录、多页流程、结构化字段或复用代码时,再生成 Python 脚本。

步骤 2:选择 Fetcher

目标网站 →
│
├─ 已有 HTML 字符串/文件,只需解析?
│   → Selector(纯解析,无网络请求)
│   → 模板: parse_only.py
│
├─ 静态页面,无 JS 渲染,无反爬?
│   → Fetcher(最快,基于 curl_cffi)
│   → 模板: basic_fetch.py
│
├─ 需要登录(HTTP 表单,非 JS 登录)?
│   → FetcherSession(保持会话 cookie)
│   → 模板: session_login.py
│
├─ 有 Cloudflare / WAF 保护?
│   → StealthyFetcher(Camoufox 浏览器,自动过 CF)
│   → 模板: stealth_cloudflare.py
│
├─ SPA 应用(React/Vue),需要 JS 渲染?
│   → DynamicFetcher(Playwright 浏览器)
│   → 基于模板即时生成
│
└─ 不确定?
    → 先用 Fetcher 试,403/空内容 → 升级到 StealthyFetcher

复杂 crawl / Spider / adaptive scraping / MCP / proxy rotation 等高级能力,不在本轻量 skill 内展开;先查 references/upstream-map.md,再按 upstream 官方文档补充。

步骤 3:执行工作流

1. 检查版本(步骤 0)
2. 安全预检(步骤 1)
3. 查阅 references/site-patterns.md;如果存在 references/site-patterns.local.md,也先查本地 overlay
4. 简单抽取 → 优先 CLI quick path + --ai-targeted
5. 复杂流程 → 用决策树选择 Fetcher,读取对应模板,替换参数,生成完整脚本
6. 执行脚本 / CLI → 返回最小必要结果
7. **沉淀经验(必做)**:
   - 新通用站点类型 → 去敏感化后追加到 references/site-patterns.md
   - 私有站点 / 公司站点 / 登录态细节 → 追加到 references/site-patterns.local.md(不提交)
   - 用户明确授权保存真实 cookie → 保存到 references/cookie-vault.local.md(不提交,必须 redact 输出)
   - **完成抓取后必须检查**:是否有新的 cookie 或 site pattern 需要保存,以及是否属于 local overlay

Guardrails

  • 只抓取用户有权访问或明确授权的内容;不要绕过 paywall、验证码、登录限制或访问控制来获取未授权内容。
  • 输出给 agent / LLM 的网页内容默认先清洗、限域或结构化;CLI 输出默认使用 --ai-targeted。
  • 真实 cookie / token 不写入 references/cookie-vault.md,只写本地 references/cookie-vault.local.md,且必须先获用户授权。
  • 公司 / 私有站点经验不写公共 references/site-patterns.md,只写本地 references/site-patterns.local.md。
  • 大规模 crawl 前先查 robots.txt / ToS,降低并发并加 delay;Spider 场景查 upstream 后优先使用 robots_txt_obey = True。

Cookie 格式速查

Fetcher 类型Cookie 格式示例
Fetcher / FetcherSessiondict{'name': 'value', 'token': 'abc'}
StealthyFetcher / DynamicFetcherlist[dict][{'name': 'n', 'value': 'v', 'domain': '.site.com', 'path': '/'}]

浏览器 Fetcher cookie 必填字段: name, value, domain, path

超时单位速查

Fetcher 类型超时单位示例
Fetcher / FetcherSession秒timeout=30
StealthyFetcher / DynamicFetcher毫秒timeout=60000

模板索引

模板文件何时读取
基础 HTTP 抓取templates/basic_fetch.py目标为静态页面,无反爬
Cloudflare 绕过templates/stealth_cloudflare.py目标有 CF/WAF 保护
Session 登录templates/session_login.py需 HTTP 表单登录后抓取
纯 HTML 解析templates/parse_only.py已有 HTML 字符串,只需提取数据

References 索引

文件何时读取
references/security.md每次抓取前先查阅 — 授权、Prompt injection、cookie / token、site pattern local overlay 规则
references/site-patterns.md每次抓取前先查阅 — 检查目标站点是否有已记录的模式
references/api-quick-ref.md生成脚本时查阅 — Fetcher/Selector 方法签名和参数
references/troubleshooting.md执行报错时查阅 — 按错误信息查找原因和解决方案
references/cookie-vault.md需要登录 cookie 时查阅 — 只存模板 / 字段名;真实值用 references/cookie-vault.local.md
references/maintenance.md安装/升级/依赖问题时查阅 — 安装层级和验证命令
references/upstream-map.md需要 CLI quick path、官方 skill 对齐、Spider / adaptive / MCP / proxy 等高级能力时查阅

评论

支持 Markdown