webclaw について
webclawは、ローカルのRustエンジンでURLを整形済みテキスト、Markdown、構造化データに変換する、AIエージェント向けのWeb抽出スキルです。単一ページとサイト全体の収集に対応し、設定すれば保護されたページやJavaScript描画ページをホスト型エンジンで処理できます。
主な機能
- 01URLをMarkdown、テキスト、JSONにローカル抽出
- 02サイト全体のクロールとURL発見
- 03複数URLの並列処理
- 0428種類のサイト別抽出器
- 05要約、差分、ブランド情報の取得
- 06難しいページ向けのホスト型処理
活用シーン
- 01web_fetchが空またはブロックされる場合の内容取得
- 02商品価格や仕様のJSON抽出
- 03サイトのページマップ作成とクロール
- 04抽出内容の変更確認
MCP 対応
このスキルはエージェントにwebclaw MCPサーバーを設定します。抽出ツールを通じて、MCPクライアントにスクレイピング、クロール、URL発見などのWebコンテンツ操作を提供します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ 0xmassi/ webclaw-skill --skill webclawインストール後、Claude Code で/webclawを入力して読み込まれたか確認します。
詳細
webclaw
ローカルの Rust エンジンを活用した、AI エージェント向けのウェブ抽出ツールです。webclaw MCP サーバーを通じて、あらゆる URL をクリーンな Markdown、テキスト、または JSON に変換できます。API キーは不要です。
インストール
npx create-webclaw
これにより、エージェント(Claude Code、Cursor、Windsurf、Codex、Antigravity など)に npx @webclaw/mcp の MCP 設定が書き込まれます。インストールは不要です。サーバーは初回起動時に取得され、キャッシュされます。以下のツールを読み込むには、エージェントを再起動してください。
- キーは不要です。 抽出処理はお使いのマシン上で実行されます。一般的なケースでは無料で、プライベートに、回数制限なく利用できます。静的サイト、ドキュメント、ブログ、サーバーサイドレンダリングされたページ、製品ページはすべてローカルで処理できます。
- オプションでアップグレードできます。
WEBCLAW_API_KEY(https://webclaw.io で取得)を設定すると、ローカル抽出では処理できないページ(ボット対策が施されたサイトや JavaScript でレンダリングされる SPA)に対して、webclaw がホスト型エンジンを使用します。キーがない場合、これらのページには、利用を有効にする方法を案内する明確なメッセージが表示されます。
このスキルを使う場面
- クリーンで構造化された出力で、信頼性の高いウェブコンテンツが必要な場合。
web_fetchが空のコンテンツ、途中で切れたコンテンツ、またはブロックされたコンテンツを返す場合。- 価格表、製品仕様、連絡先情報などの構造化データを JSON で取得したい場合。
- サイト全体をクロールしたり、すべての URL を検出したりする必要がある場合。
- 生の Markdown よりクリーンで、LLM に最適化されたコンテンツが必要な場合。
- サイト固有の抽出ツール(GitHub、Reddit、YouTube、npm、PyPI、Amazon)が必要な場合。
- ウェブの要約、差分確認、検索が必要な場合。
ツール
特に記載がない限り、すべてのツールはキーなしでローカル実行されます。出力形式は markdown(デフォルト)、text、llm(タイトルと URL のヘッダー、およびクリーンなリンク参照を追加。モデルへの入力に最適)、json(すべてのメタデータ)です。
scrape:単一の URL を抽出
url(必須)、format、include_selectors、exclude_selectors、only_main_content、browser(chrome | firefox | random)、cookies。
YouTube の watch、shorts、および youtu.be の URL では、コンテンツとともに文字起こしと動画メタデータのブロックも返されます。
crawl:サイト全体をスクレイピング
url、depth(デフォルト 2)、max_pages(デフォルト 50)、concurrency(デフォルト 5)、use_sitemap、format。
map:URL を検出
url。サイトマップを優先して検出し、サイトマップの情報が少ない場合は、同一オリジン内に制限したクロールで補完します。
batch:複数の URL を並行処理
urls(配列)、format、concurrency(デフォルト 5)。
extract:LLM による構造化データの抽出
url に加えて、prompt(自然言語)または schema(JSON スキーマ)のいずれか。下記の LLM のセットアップ を参照してください。
summarize:手早く要約
url、max_sentences(デフォルト 3)。下記の LLM のセットアップ を参照してください。
diff:コンテンツの変更を検出
url、previous_snapshot(以前の抽出結果を JSON 形式で指定)。生の HTML ではなく、抽出されたコンテンツのレベルで比較します。
brand:ビジュアルアイデンティティ
url。色、フォント、ロゴ、ファビコンを返します。
search:ウェブ検索
query、num_results(≤10)、country、lang、scrape(各検索結果のページも取得して抽出)。ローカルでは 独自の SERPER_API_KEY(serper.dev で無料)を使用し、未設定の場合はホスト型 API にフォールバックします。
vertical_scrape:特定のサイト向けに型付けされた JSON
name(抽出ツール名)、url。汎用的な Markdown ではなく、型付けされたフィールド(タイトル、価格、著者、評価)を返します。URL が抽出ツールに適合しない場合は、明確な「URL mismatch」エラーを返します。保護されたサイト(Amazon、eBay、Etsy、Trustpilot)向けの垂直抽出ツールには WEBCLAW_API_KEY が必要です。キーがない場合は、設定を求めるメッセージが返されます。
list_extractors:28 種類すべてのサイト抽出ツールを一覧表示
パラメーターなし。各抽出ツールの名前と URL の形式を返します。
reddit、hackernews、github_repo、github_pr、github_issue、github_release、pypi、npm、crates_io、huggingface_model、huggingface_dataset、arxiv、docker_hub、dev_to、stackoverflow、substack_post、youtube_video、linkedin_post、instagram_post、instagram_profile、shopify_product、shopify_collection、ecommerce_product、woocommerce_product、amazon_product、ebay_listing、etsy_listing、trustpilot_reviews。
research:複数ソースを対象とした詳細な調査(WEBCLAW_API_KEY が必要)
query、deep、topic。ホスト型エンジンで検索、読み込み、統合のループを実行し、引用付きのレポートを返します。
キーが必要なツールはどれですか?
| キー不要(ローカルで実行) | WEBCLAW_API_KEY が必要(ホスト型) |
|---|---|
scrape、crawl、map、batch、extract、summarize、diff、brand、vertical_scrape、list_extractors | research |
search(独自の SERPER_API_KEY を使用。未設定の場合はホスト型の代替手段を使用) | ボット対策や JavaScript で描画されるページへのエスカレーション |
LLM の設定(extract と summarize 用)
これら 2 つのツールは LLM プロバイダーチェーンを使用します。まずローカルの Ollama(無料かつプライベート。ollama.com からインストール)を使用し、設定されている場合は独自の OPENAI_API_KEY、GEMINI_API_KEY、または ANTHROPIC_API_KEY を使用します。webclaw のキーは不要です。
ヒント
- GitHub、Reddit、YouTube、npm、PyPI、Amazon では、
vertical_scrape(または、多くの縦型サイトを自動検出する通常のscrape)を使うと、1 回の呼び出しで型付きフィールドを取得できます。 only_main_content: trueを設定すると、ナビゲーション、サイドバー、フッターが除外されます。- モデルにコンテンツを渡す場合は、
llm形式を使用してください。 crawlの前にmapを実行してサイトの範囲を絞り込み、必要なセクションをクロールしてください。- ページがボット対策されているか、JavaScript 専用の場合は、
WEBCLAW_API_KEYを設定してエスカレーションしてください。設定されていない場合は、そのページにキーが必要であることを示す明確なメッセージが表示されます。
web_fetch との比較
| webclaw | web_fetch | |
|---|---|---|
| 出力品質 | 複数段階の抽出パイプライン。整った Markdown と llm 形式 | 基本的な HTML 解析 |
| 構造化抽出 | LLM とスキーマに基づく、28 種類の型付き抽出器 | なし |
| クロールとマッピング | サイト全体のクロールと URL の検出 | 単一ページ |
| ボット対策および JS ページ | 対応(ローカルではベストエフォート。キーがあれば自動対応) | 失敗するか、可読性の向上のみ |
| コスト | デフォルトで無料かつローカル | 無料 |
手早く一度だけ調べる場合は web_fetch を使ってください。信頼性、整った構造、構造化データ、またはサイト全体の網羅が必要な場合は webclaw をご利用ください。