jb-docs-scraper について
jb-docs-scraperは、ドキュメントサイトをクロールし、ページをローカルのMarkdownファイルとして保存するスキルです。URLフィルターに加え、クロールの深さとページ数を指定できます。
主な機能
- 01幅優先探索によるドキュメントのクロール
- 02ドメインとURLパターンの検出
- 03URLパターンによるページ絞り込み
- 04ページのMarkdown変換
- 05URLパスを反映した出力構成
- 06深さとページ数の上限設定
活用シーン
- 01ドキュメントサイトをローカル参照用に保存する
- 02クロール範囲をドキュメント内の一部に絞る
- 03試験的なクロールの規模を制御する
- 04ローカルのMarkdown文書を更新する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bjesuiter/ skills --skill jb-docs-scraperインストール後、Claude Code で/jb-docs-scraperを入力して読み込まれたか確認します。
同梱ファイルreferences/scrape_docs.py
詳細
ドキュメントスクレイパー
ドキュメントサイトをスクレイピングして、ローカルの Markdown ファイルに保存します。非同期の Web クローリングには crawl4ai を使用します。
クイックスタート
# Scrape any documentation URL
uv run --with crawl4ai python ./references/scrape_docs.py <URL>
# Examples
uv run --with crawl4ai python ./references/scrape_docs.py https://mediasoup.org/documentation/v3/
uv run --with crawl4ai python ./references/scrape_docs.py https://docs.rombo.co/tailwind
デフォルトでは、出力先は ./docs/<auto-detected-name>/ です。
前提条件(初回のみ)
uv run --with crawl4ai playwright install
使用方法
uv run --with crawl4ai python ./references/scrape_docs.py <URL> [OPTIONS]
オプション
| オプション | 説明 | デフォルト |
|---|---|---|
-o, --output PATH | 出力ディレクトリ | ./docs/<auto-detected-name> |
--max-depth N | リンクの最大深度 | 6 |
--max-pages N | スクレイピングするページの最大数 | 500 |
--url-pattern PATTERN | URL フィルター(glob) | 自動検出 |
-q, --quiet | 詳細な出力を抑制 | False |
例
# Basic - scrape to ./docs/documentation_v3/
uv run --with crawl4ai python ./references/scrape_docs.py \
https://mediasoup.org/documentation/v3/
# Custom output directory
uv run --with crawl4ai python ./references/scrape_docs.py \
https://docs.rombo.co/tailwind \
--output ./my-tailwind-docs
# Limit crawl scope
uv run --with crawl4ai python ./references/scrape_docs.py \
https://tanstack.com/start/latest/docs/framework/react/overview \
--max-pages 50 \
--max-depth 3
# Custom URL pattern filter
uv run --with crawl4ai python ./references/scrape_docs.py \
https://example.com/docs/api/v2/ \
--url-pattern "*api/v2/*"
動作の仕組み
- ドメインと URL パターンを入力 URL から自動検出します
- BFS(幅優先探索)方式でクロールします
- ドキュメントのセクション内にとどまるようフィルタリングします
- ページをクリーンな Markdown に変換します
- URL パスを反映したディレクトリ構造で保存します
出力構造
docs/<name>/
index.md # Root page
getting-started.md
api/
overview.md
client.md
guides/
installation.md
トラブルシューティング
| 問題 | 解決策 |
|---|---|
Playwright browser binaries are missing | uv run --with crawl4ai playwright install を実行してください |
| 出力が空 | URL パターンが実際のドキュメント URL と一致しているか確認してください。--url-pattern を試してください |
| ページが不足している | --max-depth または --max-pages を増やしてください |
| 意図しないページがスクレイピングされる | より厳密な --url-pattern を指定してください |
ヒント
- 最初にテストする — 本格的にクロールする前に、
--max-pages 10を使って設定を確認してください - 出力名を確認する — スクリプトは URL のパス要素から名前を自動検出します
- 再実行しても安全 — ファイルは上書きされ、重複はスキップされます
コメント
Markdown 対応