Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

web-scraper-skill网络爬虫技能

Agent Skill

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

总安装

4,039

周安装

165

GitHub Stars

公开资料未说明

下载量

1,307
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install web-scraper-skill

简介

用于处理浏览器自动化和网页信息提取,适合在OpenClaw中验证前端流程。

  • 使用Apify或Firecrawl API从网站抓取、爬行或提取数据。
  • 通过clawhub安装,结合来源仓库和原始README核验具体用法。
  • 安装前需确认权限范围、维护状态及是否触发联网或文件读写。
  • web-scraper-skill 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
web-scraper-skill
description
>

Web Scraper Skill (Apify + Firecrawl)

This skill helps Openclaw scrape and extract data from websites using two powerful APIs:

  • Firecrawl — best for scraping individual pages, crawling entire sites, and getting LLM-ready content (markdown)
  • Apify — best for specialized scrapers (social media, Google Maps, e-commerce, etc.) via pre-built Actors

Quick Decision Guide: Apify vs Firecrawl

Use CaseRecommended Tool
Scrape a single page into markdown/JSONFirecrawl /scrape
Crawl an entire website (follow links)Firecrawl /crawl
Map all URLs on a siteFirecrawl /map
Search web + scrape resultsFirecrawl /search
Scrape Instagram / TikTok / TwitterApify (social actors)
Scrape Google Maps / reviewsApify (compass/crawler-google-places)
Scrape Amazon productsApify (apify/amazon-scraper)
Scrape Google Search resultsApify (apify/google-search-scraper)
Custom actor / any Apify Store actorApify

Authentication

Both APIs require API keys passed via headers. Always ask the user for their key if not provided.

Firecrawl: Authorization: Bearer fc-YOUR_API_KEY Apify: Authorization: Bearer YOUR_APIFY_TOKEN (or ?token=YOUR_TOKEN in URL)


Firecrawl API Reference

Base URL: https://api.firecrawl.dev/v2

1. Scrape a Single Page

POST /v2/scrape
Authorization: Bearer fc-YOUR_API_KEY
Content-Type: application/json

{
  "url": "https://example.com",
  "formats": ["markdown"],          // Options: markdown, html, rawHtml, links, screenshot, json
  "onlyMainContent": true,          // Strips nav/footer/ads
  "waitFor": 0,                     // ms to wait before scraping (for JS-heavy pages)
  "timeout": 30000,                 // ms
  "blockAds": true,
  "proxy": "auto"                   // "auto", "basic", or "stealth"
}

Response: { "success": true, "data": { "markdown": "...", "metadata": {...} } }

2. Crawl an Entire Website

Crawling is async — starts a job, then poll for results.

POST /v2/crawl
{
  "url": "https://docs.example.com",
  "limit": 50,                      // Max pages
  "maxDepth": 3,
  "allowExternalLinks": false,
  "scrapeOptions": {
    "formats": ["markdown"],
    "onlyMainContent": true
  }
}

Response: { "success": true, "id": "crawl-job-id" }

Poll status:

GET /v2/crawl/{crawl-job-id}

Response: { "status": "completed", "total": 50, "data": [...] }

3. Map a Website's URLs

POST /v2/map
{ "url": "https://example.com" }

Response: { "success": true, "links": [{ "url": "...", "title": "..." }] }

4. Search + Scrape in One Call

POST /v2/search
{
  "query": "best web scraping tools 2025",
  "limit": 5,
  "scrapeOptions": { "formats": ["markdown"] }
}

Response: { "data": [{ "url": "...", "title": "...", "markdown": "..." }] }

5. Batch Scrape Multiple URLs

POST /v2/batch/scrape
{
  "urls": ["https://a.com", "https://b.com"],
  "formats": ["markdown"]
}

Returns a job ID; poll with GET /v2/batch/scrape/{id}


Apify API Reference

Base URL: https://api.apify.com/v2 Auth: Pass token as query param ?token=YOUR_TOKEN or in Authorization header.

Core Workflow

Apify runs "Actors" (pre-built scrapers). The flow is:

  1. Start a run → get a runId and defaultDatasetId
  2. Poll status until SUCCEEDED
  3. Fetch results from the dataset

1. Run an Actor (Async)

POST /v2/acts/{actorId}/runs?token=YOUR_TOKEN
Content-Type: application/json

{ ...actor-specific input... }

Response:

{
  "data": {
    "id": "RUN_ID",
    "status": "RUNNING",
    "defaultDatasetId": "DATASET_ID"
  }
}

Common Actor IDs:

  • apify/web-scraper — generic JS scraper
  • apify/google-search-scraper — Google SERPs
  • compass/crawler-google-places — Google Maps
  • apify/instagram-scraper — Instagram
  • clockworks/free-tiktok-scraper — TikTok
  • apify/amazon-scraper — Amazon products

2. Poll Run Status

GET /v2/acts/{actorId}/runs/{runId}?token=YOUR_TOKEN

Poll until status is SUCCEEDED or FAILED. Recommended interval: 5 seconds.

3. Fetch Results

GET /v2/datasets/{datasetId}/items?token=YOUR_TOKEN&format=json

Optional params: format (json/csv/xlsx/xml), limit, offset

4. Run Synchronously (≤5 minutes)

For short runs, use the sync endpoint — it waits and returns dataset items directly:

POST /v2/acts/{actorId}/run-sync-get-dataset-items?token=YOUR_TOKEN
Content-Type: application/json

{ ...actor input... }

Common Actor Inputs

Google Search Scraper:

{ "queries": "web scraping tools", "maxPagesPerQuery": 1, "resultsPerPage": 10 }

Google Maps Scraper:

{ "searchStringsArray": ["restaurants in Mumbai"], "maxCrawledPlaces": 20 }

Web Scraper (generic):

{
  "startUrls": [{ "url": "https://example.com" }],
  "pageFunction": "async function pageFunction(context) { const $ = context.jQuery; return { title: $('title').text() }; }",
  "maxPagesPerCrawl": 10
}

Output Handling

  • Firecrawl returns data directly in the response (or via polling for crawl/batch).
  • Apify stores results in a dataset; retrieve with GET /v2/datasets/{id}/items.
  • Both support JSON output. Firecrawl also provides clean markdown ideal for LLMs.
  • Apify also supports CSV, XLSX, XML output formats.

Code Templates

See references/code-templates.md for ready-to-run Python and JavaScript code for both APIs.


Error Handling

  • Firecrawl 402 → out of credits; user needs to upgrade plan
  • Firecrawl 429 → rate limited; add delays between requests
  • Apify FAILED run → check run logs via GET /v2/acts/{id}/runs/{runId}/log
  • Always wrap API calls in try/catch and check success: false in Firecrawl responses
  • Firecrawl crawls respect robots.txt by default
  • For JS-heavy pages, increase waitFor (Firecrawl) or use Playwright/Puppeteer actors (Apify)

Best Practices

  1. Start small — test with 1 URL or a small limit before scaling
  2. Use onlyMainContent: true in Firecrawl to remove nav/footer noise
  3. Choose async for large jobs — don't use sync endpoints for crawls with 50+ pages
  4. Store API keys securely — never hardcode them; use environment variables
  5. Check rate limits — Firecrawl: varies by plan; Apify: 250k requests/min global
  6. Prefer Firecrawl for LLM pipelines — markdown output is clean and ready for RAG/AI
  7. Prefer Apify for social/structured data — specialized actors handle anti-bot better

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

补充不同宿主或平台的使用分布数据

能力 5

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

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

平台分布

OpenClaw

74.34%
按下载量换算972

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

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

安装前确认

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

来源信息

继续浏览同类 Skills