Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

web-crawler网络爬虫

Agent Skill

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

总安装

343

周安装

14

GitHub Stars

1

下载量

110
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/leobrival/serum-plugins-official --skill web-crawler

简介

web-crawler 用于处理浏览器自动化、网页检查和页面信息提取。

  • 适合让 Agent 打开页面、读取网页或验证前端流程。
  • 通过 npx 命令从指定 GitHub 仓库安装,需结合原始 README 确认具体用法。
  • 安装前建议确认权限范围和维护状态,注意可能触发联网或命令执行操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Rust Web Crawler (rcrawler)

High-performance web crawler built in pure Rust with production-grade features for fast, reliable site crawling.

When to Use This Skill

Use this skill when the user requests:

  • Web crawling or site mapping
  • Sitemap discovery and analysis
  • Link extraction and validation
  • Site structure visualization
  • robots.txt compliance checking
  • Performance-critical web scraping
  • Generating interactive web reports with graph visualization

Core Capabilities

🚀 Performance

  • 60+ pages/sec throughput with async Tokio runtime
  • <50ms startup time - Near-instant initialization
  • ~50MB memory usage - Efficient resource consumption
  • 5.4 MB binary - Single executable, no dependencies

🤖 Intelligence

  • Sitemap discovery: Automatically finds and parses sitemap.xml (3 standard locations)
  • robots.txt compliance: Respects crawling rules with per-domain caching
  • Smart filtering: Auto-excludes images, CSS, JS, PDFs by default
  • Domain auto-detection: Extracts and restricts to base domain automatically

🔒 Safety

  • Rate limiting: Token bucket algorithm (default 2 req/s)
  • Configurable timeout: 30 second default
  • Memory safe: Rust's ownership system prevents crashes
  • Graceful shutdown: 2-second grace period for pending requests

📊 Output

  • Multiple formats: JSON, Markdown, HTML, CSV, Links, Text
  • LLM-ready Markdown: Clean content with YAML frontmatter
  • Interactive HTML report: Dashboard with graph visualization
  • Stealth mode: User-agent rotation and realistic headers
  • Content filtering: Remove nav, ads, scripts for clean data
  • Real-time progress: Updates every 5 seconds during crawl

📝 Monitoring

  • Structured logging: tracing with timestamps and log levels
  • Progress tracking: [Progress] Pages: X/Y | Active jobs: Z | Errors: N
  • Detailed statistics: Pages found, crawled, external links, errors, duration

Installation & Setup

Binary Location

~/.claude/skills/web-crawler/bin/rcrawler

Build from Source

# Clone the repository
git clone https://github.com/leobrival/rcrawler.git
cd rcrawler

# Build release binary
cargo build --release

# Copy to skill directory
cp target/release/rcrawler ~/.claude/skills/web-crawler/bin/

Build time: ~2 minutes Binary size: 5.4 MB

Command Line Interface

Basic Syntax

~/.claude/skills/web-crawler/bin/rcrawler <URL> [OPTIONS]

Options

Core Options:

  • -w, --workers <N>: Number of concurrent workers (default: 20, range: 1-50)
  • -d, --depth <N>: Maximum crawl depth (default: 2)
  • -r, --rate <N>: Rate limit in requests/second (default: 2.0)

Configuration:

  • -p, --profile <NAME>: Use predefined profile (fast/deep/gentle)
  • --domain <DOMAIN>: Restrict to specific domain (auto-detected from URL)
  • -o, --output <PATH>: Custom output directory (default:./output)

Features:

  • -s, --sitemap: Enable/disable sitemap discovery (default: true)
  • --stealth: Enable stealth mode with user-agent rotation
  • --markdown: Convert HTML to LLM-ready Markdown with frontmatter
  • --filter-content: Enable content filtering (remove nav, ads, scripts)
  • --debug: Enable debug logging with detailed trace information
  • --resume: Resume from checkpoint if available

Output:

  • -f, --formats <LIST>: Output formats (json,markdown,html,csv,links,text)

Profiles

Fast Profile (Quick Mapping)

~/.claude/skills/web-crawler/bin/rcrawler <URL> -p fast
  • Workers: 50
  • Depth: 3
  • Rate: 10 req/s
  • Use case: Quick site structure overview

Deep Profile (Comprehensive Crawl)

~/.claude/skills/web-crawler/bin/rcrawler <URL> -p deep
  • Workers: 20
  • Depth: 10
  • Rate: 3 req/s
  • Use case: Complete site analysis

Gentle Profile (Server-Friendly)

~/.claude/skills/web-crawler/bin/rcrawler <URL> -p gentle
  • Workers: 5
  • Depth: 5
  • Rate: 1 req/s
  • Use case: Respecting server resources

Usage Examples

Example 1: Basic Crawl

~/.claude/skills/web-crawler/bin/rcrawler https://example.com

Output:

[2026-01-10T01:17:27Z] INFO Starting crawl of: https://example.com
[2026-01-10T01:17:27Z] INFO Config: 20 workers, depth 2
Fetching sitemap URLs...
[Progress] Pages: 50/120 | Active jobs: 15 | Errors: 0
[Progress] Pages: 100/180 | Active jobs: 8 | Errors: 0

Crawl complete!
Pages crawled: 150
Duration: 8542ms
Results saved to: ./output/results.json
HTML report: ./output/index.html

Example 2: Stealth Mode with Markdown Export

~/.claude/skills/web-crawler/bin/rcrawler https://docs.example.com \
  --stealth --markdown -f markdown -d 3

Use case: Content extraction for LLM/RAG pipelines Expected: Clean Markdown with frontmatter, anti-detection headers

Example 3: Fast Scan

~/.claude/skills/web-crawler/bin/rcrawler https://blog.example.com -p fast

Use case: Quick blog mapping Expected: 50 workers, depth 3, ~3-5 seconds for 100 pages

Example 4: Multi-Format Export

~/.claude/skills/web-crawler/bin/rcrawler https://example.com \
  -f json,markdown,csv,links -o ./export

Use case: Export data in multiple formats simultaneously Expected: Generates results.json, results.md, results.csv, results.txt

Example 5: Debug Mode

~/.claude/skills/web-crawler/bin/rcrawler https://example.com --debug

Output: Detailed trace logs for troubleshooting

Output Format

Directory Structure

./output/
├── results.json       # Structured crawl data
├── results.md         # LLM-ready Markdown (with --markdown)
├── results.html       # Interactive report
├── results.csv        # Spreadsheet format (with -f csv)
├── results.txt        # URL list (with -f links)
└── checkpoint.json    # Auto-saved state (every 30s)

JSON Structure (results.json)

{
  "stats": {
    "pages_found": 450,
    "pages_crawled": 450,
    "external_links": 23,
    "excluded_links": 89,
    "errors": 0,
    "start_time": "2026-01-10T01:00:00Z",
    "end_time": "2026-01-10T01:00:07Z",
    "duration": 7512
  },
  "results": [
    {
      "url": "https://example.com",
      "title": "Example Domain",
      "status_code": 200,
      "depth": 0,
      "links": ["https://example.com/page1", "..."],
      "crawled_at": "2026-01-10T01:00:01Z",
      "content_type": "text/html"
    }
  ]
}

HTML Report Features

  • Interactive dashboard with key statistics
  • Graph visualization using force-graph library
  • Node sizing based on link count (logarithmic scale)
  • Status color coding: Green (success), red (errors)
  • Hover tooltips: In-degree and out-degree information
  • Click to navigate: Opens page URL in new tab
  • Light/dark mode: Auto-detection via CSS
  • Collapsible sections: Reduces scroll for large crawls
  • Mobile responsive: Works on all devices

Implementation Workflow

When a user requests a crawl, follow these steps:

1. Parse Request

Extract from user message:

  • URL (required): Target website
  • Workers (optional): Number of concurrent workers
  • Depth (optional): Maximum crawl depth
  • Rate (optional): Requests per second
  • Profile (optional): fast/deep/gentle

2. Validate Input

  • Check URL format (add https:// if missing)
  • Validate workers range (1-50)
  • Validate depth (1-10 recommended)
  • Validate rate (0.1-20.0 recommended)

3. Build Command

~/.claude/skills/web-crawler/bin/rcrawler <URL> \
  -w <workers> \
  -d <depth> \
  -r <rate> \
  [--debug] \
  [-o <output>]

4. Execute Crawl

Use Bash tool to run the command:

~/.claude/skills/web-crawler/bin/rcrawler https://example.com -w 20 -d 2

5. Monitor Progress

Watch for progress updates in output:

  • [Progress] Pages: X/Y | Active jobs: Z | Errors: N
  • Updates appear every 5 seconds
  • Shows real-time crawl status

6. Report Results

When crawl completes, inform user:

  • Number of pages crawled
  • Duration in seconds or minutes
  • Path to results: ./output/results.json
  • Path to HTML report: ./output/index.html
  • Offer to open HTML report: open./output/index.html

Natural Language Parsing

Example User Requests

Request: "Crawl docs.example.com" Parse: URL = https://docs.example.com, use defaults Command: rcrawler https://docs.example.com

Request: "Quick scan of blog.example.com" Parse: URL = blog.example.com, profile = fast Command: rcrawler https://blog.example.com -p fast

Request: "Deep crawl of api-docs.example.com with 40 workers" Parse: URL = api-docs.example.com, workers = 40, depth = deep Command: rcrawler https://api-docs.example.com -w 40 -d 5

Request: "Crawl example.com carefully, don't overload their server" Parse: URL = example.com, profile = gentle Command: rcrawler https://example.com -p gentle

Request: "Map the structure of help.example.com" Parse: URL = help.example.com, depth = moderate Command: rcrawler https://help.example.com -d 3

Error Handling

Binary Not Found

# Check if binary exists
ls ~/.claude/skills/web-crawler/bin/rcrawler

# If missing, build it
cd ~/.claude/skills/web-crawler/scripts && cargo build --release

Crawl Failures

Network errors:

  • Verify URL is accessible: curl -I <URL>
  • Check if site is down or blocking crawlers
  • Try with lower rate: -r 1

robots.txt blocking:

  • Crawler respects robots.txt by default
  • Check rules: curl <URL>/robots.txt
  • Inform user of restrictions

Timeout errors:

  • Increase timeout in code (default 30s)
  • Reduce workers: -w 10
  • Lower rate limit: -r 1

Too many errors:

  • Enable debug mode: --debug
  • Check specific failing URLs
  • May need to exclude certain patterns

Performance Benchmarks

Test: adonisjs.com

  • Pages: 450
  • Duration: 7.5 seconds
  • Throughput: 60 pages/sec
  • Workers: 20
  • Depth: 2

Test: rust-lang.org

  • Pages: 16
  • Duration: 3.9 seconds
  • Workers: 10
  • Depth: 1

Test: example.com

  • Pages: 2
  • Duration: 2.7 seconds
  • Workers: 5
  • Depth: 1

Technical Architecture

Core Components

  1. CrawlEngine (src/crawler/engine.rs)

- Worker pool management - Job queue coordination - Shutdown signaling - Statistics tracking

  1. RobotsChecker (src/crawler/robots.rs)

- Per-domain caching - Rule validation - Fallback on errors

  1. RateLimiter (src/crawler/rate_limiter.rs)

- Token bucket algorithm - Configurable rate - Shared across workers

  1. UrlFilter (src/utils/filters.rs)

- Regex-based filtering - Include/exclude patterns - Default exclusions

  1. HtmlParser (src/parser/html.rs)

- CSS selector queries - Title extraction - Link discovery

  1. SitemapParser (src/parser/sitemap.rs)

- XML parsing - Index traversal - URL extraction

Key Dependencies

  • tokio: Async runtime (multi-threaded)
  • reqwest: HTTP client (connection pooling)
  • scraper: HTML parsing (CSS selectors)
  • quick-xml: Sitemap parsing
  • governor: Rate limiting (token bucket)
  • tracing: Structured logging
  • dashmap: Concurrent HashMap
  • robotstxt: robots.txt compliance
  • clap: CLI argument parsing
  • serde/serde_json: Serialization

Tips & Best Practices

1. Start with Default Settings

First crawl should use defaults to understand site structure.

2. Use Profiles for Common Scenarios

  • fast: Quick overviews
  • deep: Comprehensive analysis
  • gentle: Respectful crawling

3. Monitor Progress

Watch the [Progress] lines to ensure crawl is progressing.

4. Check HTML Report

Interactive visualization helps understand site structure better than JSON.

5. Respect Rate Limits

Default 2 req/s is safe for most sites. Increase cautiously.

6. Enable Debug for Issues

--debug flag provides detailed logs for troubleshooting.

7. Review robots.txt

Check <URL>/robots.txt to understand crawling restrictions.

8. Use Custom Output for Multiple Crawls

Avoid overwriting results with -o flag.

Future Enhancements (V2.0)

  • Checkpoint resume: Full integration of checkpoint system
  • Per-domain rate limiting: Different rates for different domains
  • JavaScript rendering: chromiumoxide for dynamic sites
  • Distributed crawling: Redis-based job queue
  • Advanced analytics: SEO analysis, link quality scoring

Support & Resources

  • GitHub Repository: leobrival/rcrawler
  • Binary: ~/.claude/skills/web-crawler/bin/rcrawler
  • Skill Documentation: This file (SKILL.md)
  • Quick Start: README.md (this repository)
  • Development Guide: DEVELOPMENT.md

Version: 1.0.0 Status: Production Ready

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.29%
按下载量换算39

Claude

32.63%
按下载量换算36

Cursor

17.58%
按下载量换算19

Gemini CLI

9.55%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills