跳到正文
cccskills
免费在 GitHub 公开

crawlberg-crawling-a-site

Use when the user wants to follow links across a domain and capture every reachable page as Markdown. Covers `crawlberg crawl` with depth, page caps, concurrency, rate limiting, domain scoping, robots, and output selection.

中文简介正在准备中。当前显示原文说明。

xberg-io/crawlberg星标 192(GitHub 192 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(2)

  • SKILL.md5.6 KB
  • index.md511 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

<!-- AI-RULEZ :: GENERATED FILE — DO NOT EDIT Content-Hash: blake3:2b9ef3346b813f235cf3e3623ee2a8bf454de3aede996c625411c127443f837f Source-Hash: blake3:4b18f96f8bf0da5fa02f0e2c5c6ad57db3a523b7eb72186f504977e42807760d Schema-Version: v1 -->

Crawling a site

Reach for crawlberg crawl when one URL is not enough — the user wants the docs site, the blog, the marketing pages, or the whole domain.

Quick recipe

crawlberg crawl https://example.com \
  --depth 3 \
  --max-pages 200 \
  --concurrent 8 \
  --rate-limit 250 \
  --stay-on-domain \
  --respect-robots-txt \
  --format markdown

Defaults you should usually override:

  • --depth 2 is shallow — set it explicitly.
  • --max-pages is unbounded by default; cap it for any unknown site.
  • --concurrent 10 is aggressive for small hosts; drop to 4-8 for third-party sites.

Flag surface

FlagDefaultPurpose
--depth, -d2Maximum hop count from the seed URL.
--max-pages, -n—Hard cap on pages fetched. Set this on any unknown site.
--concurrent, -c10Parallel in-flight requests.
--rate-limit200Milliseconds between requests to the same origin.
--stay-on-domainoffSkip links that leave the seed domain.
--respect-robots-txtoffHonour robots.txt. Pass it for any third-party host.
--proxy—HTTP, HTTPS, or SOCKS5 proxy URL.
--user-agent—Override the request UA. Be honest.
--timeout30000Per-request timeout in ms.
--browser-modeautoauto, always, never — see the headless-fallback skill.
--browser-endpoint—External CDP ws:// URL.
--formatjsonjson or markdown.
--config—Inline JSON or @file.json for the full CrawlConfig.

Multiple seed URLs are accepted positionally — the engine fans out with batch_crawl and aggregates results.

When to pick which flags

Docs sites you own

crawlberg crawl https://docs.example.com \
  --depth 5 --max-pages 1000 --concurrent 16 --rate-limit 100 \
  --stay-on-domain --format markdown > docs.md

Higher concurrency and lower rate limits are fine on infrastructure you control.

Third-party sites

crawlberg crawl https://blog.unknown.example \
  --depth 2 --max-pages 50 --concurrent 4 --rate-limit 500 \
  --stay-on-domain --respect-robots-txt --format markdown

Stay shallow, cap pages, throttle hard, obey robots.

Multi-seed batch

crawlberg crawl \
  https://example.com/blog \
  https://example.com/docs \
  https://example.com/pricing \
  --depth 2 --max-pages 100 --stay-on-domain --format json

JSON output for a multi-seed crawl is a BatchCrawlResults object: { "results": [ { "url", "result", "error" }, … ], "total_count", "completed_count", "failed_count" }. Each entry's url is the seed URL, result is a full crawl payload (or null on failure), and error is a sibling string field (null on success). Iterate with .results[] | {url, error} — not a top-level array.

Output

Markdown mode

---
URL: https://example.com/page-one
---
# Page One

… markdown content …

---
URL: https://example.com/page-two
---
…

JSON mode

Top-level CrawlResult with pages: [...]. Each page carries the rendered Markdown plus metadata, links, images, JSON-LD, and HTTP response info. Read result.pages[i].markdown.content for the Markdown string.

Politeness checklist

  • Pass --respect-robots-txt on every third-party crawl.
  • Cap --max-pages — a runaway BFS can issue tens of thousands of requests.
  • Bump --rate-limit for hosts that show signs of stress (5xx, slowdowns).
  • Identify yourself via --user-agent crawlberg (contact@example.com).

Common pitfalls

  • No pages returned. The seed page may be JS-only — the engine falls back to headless automatically in --browser-mode auto, but never mode will silently produce an empty crawl. Re-run with --browser-mode always or check the headless-fallback skill.
  • Crawl leaves the domain. Pass --stay-on-domain. Combine with allow_subdomains: true in --config JSON to include subdomains.
  • Slow crawl. The default rate limit is 200 ms per origin — multiple seed URLs on the same host still share the bucket. Spread seeds across hosts or raise --concurrent for unrelated origins.
  • Memory growth. Each page carries full Markdown plus structured data. Stream JSON output to a file rather than holding it in memory; set --max-pages aggressively if downstream cannot keep up.

When to reach for map instead

If the user only needs the list of URLs (sitemap analysis, link planning, seeding another tool), use crawlberg map <url> — it skips rendering and returns a flat MapResult with hundreds of URLs in seconds.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

api

免费

Use crawlberg api reference documentation.

中文简介正在准备中。当前显示原文说明。

xberg-io/crawlberg1922026年10月26日 更新

cli

免费

Use crawlberg cli reference documentation.

中文简介正在准备中。当前显示原文说明。

xberg-io/crawlberg1922026年10月26日 更新

crawlberg

免费

Crawl, scrape, and convert websites to Markdown using the local crawlberg CLI and its MCP server. Use when the user wants to fetch a page, follow links across a domain, enumerate URLs, or drive a real browser. Covers installation, the subcommands (scrape, crawl, map, interact, batch-scrape, batch-crawl, download, citations, version, mcp, serve), output formats (JSON + Markdown), browser fallback, and when to prefer the MCP server over shelling out.

中文简介正在准备中。当前显示原文说明。

xberg-io/crawlberg1922026年10月26日 更新

Use when extracting a page needs scripted interaction first — click, type, press a key, scroll, wait, screenshot, or run JS before capturing the DOM. Covers `crawlberg interact URL --actions` with the real action schema, result shape, limits, and external-CDP options.

中文简介正在准备中。当前显示原文说明。

xberg-io/crawlberg1922026年10月26日 更新

Use when a static fetch returns nothing useful and the page needs a real browser. Covers `--browser-mode auto|always|never`, external CDP via `--browser-endpoint`, symptoms of JS-only pages and WAF blocks, and the performance cost.

中文简介正在准备中。当前显示原文说明。

xberg-io/crawlberg1922026年10月26日 更新

Use when the user wants the list of URLs on a site rather than the page content — sitemap analysis, link planning, or seeding another tool. Covers `crawlberg map URL` with `--limit`, `--search`, robots, output, and how it differs from a full crawl.

中文简介正在准备中。当前显示原文说明。

xberg-io/crawlberg1922026年10月26日 更新

查看 xberg-io 的全部技能

报告此技能的问题