Build client-ready web scrapers with clean data output. Use when creating scrapers for clients, extracting data from websites, or delivering scraping projects.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install web-scraper-as-a-service或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install web-scraper-as-a-service⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/web-scraper-as-a-service/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: web-scraper-as-a-service description: Build client-ready web scrapers with clean data output. Use when creating scrapers for clients, extracting data from websites, or delivering scraping projects. argument-hint: "[target-url-or-brief]" allowed-tools: Read, Write, Edit, Grep, Glob, Bash, WebFetch, WebSearch ---
Turn scraping briefs into deliverable scraping projects. Generates the scraper, runs it, cleans the data, and packages everything for the client.
/web-scraper-as-a-service "Scrape all products from example-store.com — need name, price, description, images. CSV output."
/web-scraper-as-a-service https://example.com --fields "title,price,rating,url" --format csv
/web-scraper-as-a-service brief.txt
Before writing any code:
- Is the site server-rendered (static HTML) or client-rendered (JavaScript/SPA)? - What anti-scraping measures are visible? (Cloudflare, CAPTCHAs, rate limits) - Pagination pattern (URL params, infinite scroll, load more button) - Data structure (product cards, table rows, list items) - Total estimated volume (number of pages/items)
- Static HTML → Python + requests + BeautifulSoup - JavaScript-rendered → Python + playwright - API available → Direct API calls (check network tab patterns)
Generate a complete Python script in scraper/ directory:
scraper/
scrape.py # Main scraper script
requirements.txt # Dependencies
config.json # Target URLs, fields, settings
README.md # Setup and usage instructions for client
scrape.py must include:
# Required features in every scraper:
# 1. Configuration
import json
config = json.load(open('config.json'))
# 2. Rate limiting (ALWAYS — be respectful)
import time
DELAY_BETWEEN_REQUESTS = 2 # seconds, adjustable in config
# 3. Retry logic
MAX_RETRIES = 3
RETRY_DELAY = 5
# 4. User-Agent rotation
USER_AGENTS = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...",
# ... at least 5 user agents
]
# 5. Progress tracking
print(f"Scraping page {current}/{total} — {items_collected} items collected")
# 6. Error handling
# - Log errors but don't crash on individual page failures
# - Save progress incrementally (don't lose data on crash)
# - Write errors to error_log.txt
# 7. Output
# - Save data incrementally (append to file, don't hold in memory)
# - Support CSV and JSON output
# - Clean and normalize data before saving
# 8. Resume capability
# - Track last successfully scraped page/URL
# - Can resume from where it left off if interrupted
After scraping, clean the data:
``` Data Quality Report ─────────────────── Total records: 2,487 Duplicates removed: 13 Empty fields filled: 0 Fields with issues: price (3 records had non-numeric values — cleaned) Completeness: 99.5% ```
Generate a complete deliverable:
delivery/
data.csv # Clean data in requested format
data.json # JSON alternative
data-quality-report.md # Quality metrics
scraper-documentation.md # How the scraper works
README.md # Quick start guide
scraper-documentation.md includes:
Present:
Based on the target type, use the appropriate template:
Fields: name, price, original_price, discount, description, images, category, sku, rating, review_count, availability, url
Fields: address, price, bedrooms, bathrooms, sqft, lot_size, listing_type, agent, description, images, url
Fields: title, company, location, salary, job_type, description, requirements, posted_date, url
Fields: business_name, address, phone, website, category, rating, review_count, hours, description
Fields: title, author, date, content, tags, url, image
安装 Web Scraper as a Service 后,可以对 AI 说这些话来触发它
Help me get started with Web Scraper as a Service
Explains what Web Scraper as a Service does, walks through the setup, and runs a quick demo based on your current project
Use Web Scraper as a Service to build client-ready web scrapers with clean data output
Invokes Web Scraper as a Service with the right parameters and returns the result directly in the conversation
What can I do with Web Scraper as a Service in my data & analytics workflow?
Lists the top use cases for Web Scraper as a Service, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/web-scraper-as-a-service/ 目录(个人级,所有项目可用),或 .claude/skills/web-scraper-as-a-service/(项目级)。重启 AI 客户端后,用 /web-scraper-as-a-service 主动调用,或让 AI 根据上下文自动发现并使用。
Web Scraper as a Service 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Web Scraper as a Service 可免费安装使用。请查阅仓库了解许可证信息。
Build client-ready web scrapers with clean data output. Use when creating scrapers for clients, extracting data from websites, or delivering scraping projects.
Web Scraper as a Service 属于「Data & Analytics」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my data & analytics tasks using Web Scraper as a Service
Identifies repetitive steps in your workflow and sets up Web Scraper as a Service to handle them automatically