mcpField
W
webclaw

webclaw

github.com/0xmassiデータ・データベース363 回インストール7 週間前に更新
リポジトリ

webclaw について

webclawは、ローカルのRustエンジンでURLを整形済みテキスト、Markdown、構造化データに変換する、AIエージェント向けのWeb抽出スキルです。単一ページとサイト全体の収集に対応し、設定すれば保護されたページやJavaScript描画ページをホスト型エンジンで処理できます。

主な機能

  1. 01URLをMarkdown、テキスト、JSONにローカル抽出
  2. 02サイト全体のクロールとURL発見
  3. 03複数URLの並列処理
  4. 0428種類のサイト別抽出器
  5. 05要約、差分、ブランド情報の取得
  6. 06難しいページ向けのホスト型処理

活用シーン

  1. 01web_fetchが空またはブロックされる場合の内容取得
  2. 02商品価格や仕様のJSON抽出
  3. 03サイトのページマップ作成とクロール
  4. 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_extractorsresearch
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 との比較

webclawweb_fetch
出力品質複数段階の抽出パイプライン。整った Markdown と llm 形式基本的な HTML 解析
構造化抽出LLM とスキーマに基づく、28 種類の型付き抽出器なし
クロールとマッピングサイト全体のクロールと URL の検出単一ページ
ボット対策および JS ページ対応(ローカルではベストエフォート。キーがあれば自動対応)失敗するか、可読性の向上のみ
コストデフォルトで無料かつローカル無料

手早く一度だけ調べる場合は web_fetch を使ってください。信頼性、整った構造、構造化データ、またはサイト全体の網羅が必要な場合は webclaw をご利用ください。

コメント