Token导航 LogoToken导航

Agent Skill · 研究检索

cli-web-scrape(CLI WEB scrape 搜索)

cli-web-scrape 用于处理浏览器自动化、网页检查和页面信息提取,适合在 Codex、Claude、Cursor、Gemini CLI 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

cli-web-scrape 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有未通过项,按安装量在研究检索类的 73,675 个 Skill 里排第 45,550。

总安装 840周安装 34GitHub Stars 公开资料未说明下载 264核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:cli-web-scrape(CLI WEB scrape 搜索)
来源仓库:https://github.com/molechowski/claude-skills
仓库路径:skills/cli-web-scrape
安装命令:
npx skills add https://github.com/molechowski/claude-skills --skill cli-web-scrape
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/molechowski/claude-skills --skill cli-web-scrape

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

cli-web-scrape 提供基于 Scrapling 的网页抓取 CLI,支持浏览器 impersonation 与反 bot 绕过。适合提取静态页面、API 数据与 JS 渲染内容,支持 CSS 选择器。可选择 Playwright 或 Camoufox 引擎处理复杂前端应用。

安装前应安装 fetcher 浏览器引擎,否则动态提取功能不可用。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/cli-web-scrape

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/molechowski/claude-skills --skill cli-web-scra…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

cli-web-scrape 怎么安装?

在终端执行 npx skills add https://github.com/molechowski/claude-skills --skill cli-web-scrape。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

cli-web-scrape 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

cli-web-scrape 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

cli-web-scrape 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

cli-web-scrape 用的人多吗?

公开数据是累计安装 840 次,近一周安装 34 次,下载 264 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

cli-web-scrape 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
cli-web-scrape

CLI WEB scrape 搜索 · 本页

840—接触敏感数据未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Scrapling CLI

Web scraping CLI with browser impersonation, anti-bot bypass, and CSS extraction.

Prerequisites

# Install with all extras (CLI needs click, fetchers need playwright/camoufox)
uv tool install 'scrapling[all]'

# Install fetcher browser engines (one-time)
scrapling install

Verify: scrapling --help

Fetcher Selection

TierCommandEngineSpeedStealthJSUse When
HTTPextract get/post/put/deletehttpx + TLS impersonationFastMediumNoStatic pages, APIs, most sites
Dynamicextract fetchPlaywright (headless browser)MediumLowYesJS-rendered SPAs, wait-for-element
Stealthyextract stealthy-fetchCamoufox (patched Firefox)SlowHighYesCloudflare, aggressive anti-bot

Default to HTTP tier — only escalate when the page requires JS rendering or blocks HTTP requests.

Output Format

Determined by output file extension:

ExtensionOutputBest For
.htmlRaw HTMLParsing, further processing
.mdHTML converted to MarkdownReading, LLM context
.txtText content onlyClean text extraction

Always use /tmp/scrapling-*.{md,txt,html} for output files. Read the file after extraction.

Core Commands

HTTP Tier: GET

scrapling extract get URL OUTPUT_FILE [OPTIONS]
FlagPurposeExample
-s, --css-selectorExtract matching elements only-s ".article-body"
--impersonateForce specific browser--impersonate firefox
-H, --headersCustom headers (repeatable)-H "Authorization: Bearer tok"
--cookiesCookie string--cookies "session=abc123"
--proxyProxy URL--proxy "http://user:pass@host:port"
-p, --paramsQuery params (repeatable)-p "page=2" -p "limit=50"
--timeoutSeconds (default: 30)--timeout 60
--no-verifySkip SSL verificationFor self-signed certs
--no-follow-redirectsDon't follow redirectsFor redirect inspection
--no-stealthy-headersDisable stealth headersFor debugging

Examples:

# Basic page fetch as markdown
scrapling extract get "https://example.com" /tmp/scrapling-out.md

# Extract only article content
scrapling extract get "https://news.site.com/article" /tmp/scrapling-out.txt -s "article"

# Multiple CSS selectors
scrapling extract get "https://hn.com" /tmp/scrapling-out.txt -s ".titleline > a"

# With auth header
scrapling extract get "https://api.example.com/data" /tmp/scrapling-out.txt -H "Authorization: Bearer TOKEN"

# Impersonate Firefox
scrapling extract get "https://example.com" /tmp/scrapling-out.md --impersonate firefox

# Random browser impersonation from list
scrapling extract get "https://example.com" /tmp/scrapling-out.md --impersonate "chrome,firefox,safari"

# With proxy
scrapling extract get "https://example.com" /tmp/scrapling-out.md --proxy "http://proxy:8080"

HTTP Tier: POST

scrapling extract post URL OUTPUT_FILE [OPTIONS]

Additional options over GET:

FlagPurposeExample
-d, --dataForm data-d "param1=value1&param2=value2"
-j, --jsonJSON body-j '{"key": "value"}'
# POST with form data
scrapling extract post "https://api.example.com/search" /tmp/scrapling-out.txt -d "q=test&page=1"

# POST with JSON
scrapling extract post "https://api.example.com/query" /tmp/scrapling-out.txt -j '{"query": "test"}'

PUT and DELETE share the same interface as POST and GET respectively.

Dynamic Tier: fetch

For JS-rendered pages. Launches headless Playwright browser.

scrapling extract fetch URL OUTPUT_FILE [OPTIONS]
FlagPurposeDefault
--headless/--no-headlessHeadless modeTrue
--disable-resourcesDrop images/CSS/fonts for speedFalse
--network-idleWait for network idleFalse
--timeoutMilliseconds30000
--waitExtra wait after load (ms)0
-s, --css-selectorCSS selector extraction—
--wait-selectorWait for element before proceeding—
--real-chromeUse installed Chrome instead of bundledFalse
--proxyProxy URL—
-H, --extra-headersExtra headers (repeatable)—
# Fetch JS-rendered SPA
scrapling extract fetch "https://spa-app.com" /tmp/scrapling-out.md

# Wait for specific element to load
scrapling extract fetch "https://dashboard.com" /tmp/scrapling-out.md --wait-selector ".data-table"

# Fast mode: skip images/CSS, wait for network idle
scrapling extract fetch "https://app.com" /tmp/scrapling-out.md --disable-resources --network-idle

# Extra wait for slow-loading content
scrapling extract fetch "https://lazy-site.com" /tmp/scrapling-out.md --wait 5000

Stealthy Tier: stealthy-fetch

Maximum anti-detection. Uses Camoufox (patched Firefox).

scrapling extract stealthy-fetch URL OUTPUT_FILE [OPTIONS]

Additional options over fetch:

FlagPurposeDefault
--solve-cloudflareSolve Cloudflare challengesFalse
--block-webrtcBlock WebRTC (prevents IP leak)False
--hide-canvasAdd noise to canvas fingerprintingFalse
--block-webglBlock WebGL fingerprintingFalse (allowed)
# Bypass Cloudflare
scrapling extract stealthy-fetch "https://cf-protected.com" /tmp/scrapling-out.md --solve-cloudflare

# Maximum stealth
scrapling extract stealthy-fetch "https://aggressive-antibot.com" /tmp/scrapling-out.md \
  --solve-cloudflare --block-webrtc --hide-canvas --block-webgl

# Stealthy with CSS selector
scrapling extract stealthy-fetch "https://protected.com" /tmp/scrapling-out.txt \
  --solve-cloudflare -s ".content"

Auto-Escalation Protocol

ALL scrapling usage must follow this protocol. Never use extract get alone — always validate content and escalate if needed. Consumer skills (res-deep, res-price-compare, doc-daily-digest) MUST use this pattern, not a bare extract get.

Step 1: HTTP Tier

scrapling extract get "URL" /tmp/scrapling-out.md

Read /tmp/scrapling-out.md and validate content before proceeding.

Step 2: Validate Content

Check the scraped output for thin content indicators — signs that the site requires JS rendering:

IndicatorPatternExample
JS disabled warning"JavaScript", "enable JavaScript", "JS wyłączony"iSpot.pl, many SPAs
No product/price dataOutput has navigation and footer but no prices, specs, or product namesE-commerce SPAs
Mostly nav links80%+ of content is menu items, category links, cookie bannersReact/Angular/Vue apps
Very short contentLess than ~20 meaningful lines after stripping nav/footerHydration-dependent pages
Login/loading wall"Loading...", "Please wait", skeleton UI textDashboard apps

If ANY indicator is present → escalate to Dynamic tier. Do NOT treat HTTP 200 with thin content as success.

Step 3: Dynamic Tier (if content validation fails)

scrapling extract fetch "URL" /tmp/scrapling-out.md --network-idle --disable-resources

Read and validate again. If content is now rich → done. If still blocked (403, Cloudflare challenge, empty) → escalate.

Step 4: Stealthy Tier (if Dynamic tier fails)

scrapling extract stealthy-fetch "URL" /tmp/scrapling-out.md --solve-cloudflare

If still blocked, add maximum stealth flags:

scrapling extract stealthy-fetch "URL" /tmp/scrapling-out.md \
  --solve-cloudflare --block-webrtc --hide-canvas --block-webgl

Consumer Skill Integration

When a consumer skill says "retry with scrapling" or "scrapling fallback", it means: follow the full auto-escalation protocol above, not just the HTTP tier. The pattern:

  1. extract get → Read → Validate content
  2. Content thin? → extract fetch --network-idle --disable-resources → Read → Validate
  3. Still blocked? → extract stealthy-fetch --solve-cloudflare → Read
  4. All tiers fail? → Skip and label "scrapling blocked"

Known JS-rendered sites (always start at Dynamic tier):

  • iSpot.pl — React SPA, HTTP tier returns only nav shell
  • Single-page apps with client-side routing (hash or history API URLs)

Interactive Shell

# Launch REPL
scrapling shell

# One-liner evaluation
scrapling shell -c 'Fetcher().get("https://example.com").css("title::text")'

Troubleshooting

IssueFix
ModuleNotFoundError: clickReinstall: uv tool install --force 'scrapling[all]'
fetch/stealthy-fetch failsRun scrapling install to install browser engines
Cloudflare still blocksAdd --block-webrtc --hide-canvas to stealthy-fetch
TimeoutIncrease --timeout (seconds for HTTP, milliseconds for fetch/stealthy)
SSL errorAdd --no-verify (HTTP tier only)
Empty output with selectorTry without -s first to verify page loads, then refine selector

Constraints

  • Output file path is required — scrapling writes to file, not stdout
  • CSS selectors return ALL matches concatenated
  • HTTP tier timeout is in seconds, fetch/stealthy-fetch timeout is in milliseconds
  • --impersonate only available on HTTP tier (fetch/stealthy handle it internally)
  • --solve-cloudflare only on stealthy-fetch tier
  • Stealth headers enabled by default on HTTP tier — disable with --no-stealthy-headers for debugging

平台分布

Codex

37.01%
按下载量换算98

Claude

28.95%
按下载量换算76

Cursor

17.77%
按下载量换算47

Gemini CLI

8.9%
按下载量换算23

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills