Claude Codeにウェブクロールを追加する方法:エージェントにページ全体へのアクセスを与える

ウェブ検索はスニペットを返し、ウェブクロールはページ全体を返します。1つのCLIで、Claude Codeに調査・競合分析・コンテンツ抽出のためのフルページアクセスを与える方法を紹介します。

by AnyCap

Claude Codeに競合の料金ページを調査してほしいと頼みます。するとウェブを検索して、次のようなスニペットだけを返します。「月額29ドルから。」これでは足りません。必要なのは、料金表全体、機能比較、エンタープライズプラン、つまりページの実際の内容です。

ウェブ検索は要約を返します。ウェブクロールはページそのものを返します。

ここでは、Claude Codeにウェブクロールを追加する方法を紹介します。そうすれば、エージェントがウェブページ全体を読み、構造化データを抽出し、その調査結果をワークフローに直接取り込めます。


ウェブ検索とウェブクロールの違いは?

両者は関連していますが、役割は異なります。

ウェブ検索 ウェブクロール
返ってくるもの スニペット、リンク、引用 クリーンなMarkdown形式のページ全体
向いている用途 すばやい回答、発見、事実確認 深い調査、コンテンツ抽出、競合分析
速度 数秒 数秒から1分程度(ページ全体の取得)
データの深さ 表層的 完全 — 見出し、段落、表をすべて含む
ユースケース 「Xの料金はいくら?」 「料金ページ全体を抽出して、自社料金と比較する」

エージェントには両方が必要です。検索で適切なページを見つけ、クロールで正しく読むのです。


なぜClaude Codeにウェブクロールが必要なのか

Claude Codeはコードベースを推論するのが得意です。関数のリファクタリング、テスト作成、ファイルをまたいだデバッグができます。ですが、競合のAPIドキュメント、ライブラリの変更履歴、製品の機能一覧のようなものを調べようとすると、壁にぶつかります。

ウェブ検索は助けになりますが、スニペットだけでは限界があります。料金ページに12のプランがあるかもしれません。ドキュメントページに40のセクションがあるかもしれません。変更履歴が3年分に及ぶこともあります。150文字のスニペットは1つのことしか教えてくれません。ページ全体はすべてを教えてくれます。

ウェブクロールは、エージェントに完全なページを渡します。すると、次のことができます。

  • 構造化データの抽出(料金プラン、機能一覧、APIエンドポイント)
  • 競合製品を項目ごとに比較
  • ドキュメントをコード生成に反映する(「ドキュメントに書かれている通りに認証を実装する」)
  • 時間経過による変化を監視する(同じページを毎週クロールし、結果を比較する)

方法1:手動ウェブスクレイピング(壊れやすい方法)

Claude Codeにスクレイピングサービスを直接呼び出させることもできます。提供元を選び(Firecrawl、Jina、ScrapingBee)、登録してAPIキーを取得し、エージェントに接続します。

手動アプローチの流れは次の通りです。

  1. スクレイピングサービスに登録する
  2. APIキーを取得する
  3. Claude Codeが呼べるシェルスクリプトまたはMCP設定を書く
  4. レート制限、再試行、取得失敗を処理する
  5. レスポンスを解析してエージェントのコンテキストに戻す

これはたまに使う分には有効です。しかし、スケールすると壊れやすくなります。サイトごとにブロックするスクレイパーが異なり、レート制限は提供元によって違い、統合の保守に費やす時間が、開発に使いたかった時間を奪ってしまいます。


方法2:クロール用MCPサーバー

ウェブクロール用のMCPサーバーは、スクレイピングのロジックを再利用可能な統合にまとめます。FirecrawlのMCPサーバーが最も一般的で、Claude Codeがそれを呼び出すと、どのURLでもクリーンなMarkdownを返します。

手動のAPI接続よりは設定が軽いですが、それでも管理が必要です。

  • 機能ごとに1つのMCPサーバー(クロールと検索は別)
  • 提供元ごとのレート制限と認証
  • スクレイピング提供元を切り替えるときのフォーマット差異

方法3:検索 + クロールのための1つのCLI(AnyCap方式)

この方法は、検索とクロールを1つのコマンド面にまとめます。エージェントはページを探すために検索し、その後に完全に読むためにクロールします。すべて同じCLIから行えます。

# ステップ1: 関連ページを検索
anycap search --prompt "competitor pricing pages SaaS 2026" --citations

# ステップ2: 最も関連性の高い結果をクロールして全文を取得
anycap crawl --url "https://competitor.com/pricing" -o pricing.md

ランタイムが処理するのは次の内容です。

  • 構造化出力。 ページはクリーンなMarkdownに変換され、見出し、段落、表、コードブロックが保持されます。
  • JavaScriptレンダリング。 動的ページ(SPA、Reactアプリ)は抽出前にレンダリングされます。
  • クリーンなコンテンツ。 ナビゲーション、広告、定型文は除去され、残るのは本文です。
  • 一貫した形式。 クロールしたページは、出典に関係なく同じMarkdown構造で返されます。

インストール:

npm i -g anycap
anycap login
anycap skill install --target ~/.claude/skills/anycap-cli/

AnyCapを無料でインストール — 新規ユーザーに250クレジット


実用例:競合調査パイプライン

自社製品の料金を3社の競合と比較する必要があるとします。ワークフロー全体は次の通りです。

# 1. 競合の料金ページを検索
anycap search --prompt "competitor A pricing plans 2026" --citations
anycap search --prompt "competitor B pricing plans 2026" --citations
anycap search --prompt "competitor C pricing plans 2026" --citations

# 2. 各料金ページを全文クロール
anycap crawl --url "https://competitor-a.com/pricing" -o competitor-a.md
anycap crawl --url "https://competitor-b.com/pricing" -o competitor-b.md
anycap crawl --url "https://competitor-c.com/pricing" -o competitor-c.md

# 3. クロールした内容をClaude Codeに渡して分析
# これでClaude Codeは完全な料金データを持ち、次を生成できる:
# - 比較表
# - 価格ポジショニングの提案
# - 機能ギャップ分析

エージェントは調査し、クロールし、分析し、提案しました。しかもすべて1回のセッションで完了です。手動でブラウザタブを開く必要も、コピペもありません。


実用例:ドキュメント駆動開発

エージェントがAPI連携を実装する必要があるとします。認証フローを推測する代わりに、公式ドキュメントをクロールします。

# API認証ドキュメントをクロール
anycap crawl --url "https://api.provider.com/docs/auth" -o auth-docs.md

# エンドポイントリファレンスをクロール
anycap crawl --url "https://api.provider.com/docs/endpoints" -o endpoints.md

# これでClaude Codeは、古い可能性のある学習データではなく
# 実際のドキュメントから統合を実装する

これは、「Claude Code、Stripe連携を実装して」(学習データに頼るため古い可能性がある)と、「Claude Code、最新のStripeドキュメントをクロールして、記載どおりに統合を実装して」(正確、最新、信頼できる)の違いです。


実用例:競合モニタリング

定期的な調査ワークフローを組みましょう。エージェントがスケジュールに従って競合ページをクロールし、結果を差分比較します。

# 競合の変更履歴をクロール
anycap crawl --url "https://competitor.com/changelog" -o competitor-changelog-$(date +%Y%m%d).md

# 競合の機能ページをクロール
anycap crawl --url "https://competitor.com/features" -o competitor-features-$(date +%Y%m%d).md

# 先週のクロールと比較
diff competitor-features-20260511.md competitor-features-20260518.md

これを毎週実行してください。エージェントが新機能、価格変更、更新されたメッセージを、顧客から聞く前に見つけます。


検索 + クロール:完全なリサーチスタック

ウェブ検索は見つけます。ウェブクロールは読みます。2つを組み合わせることで、エージェントに完全な調査能力が生まれます。

ステップ コマンド 役割
1. 発見 anycap search 根拠のある引用付きで関連ページを見つける
2. 抽出 anycap crawl ページ全体の内容をクリーンなMarkdownで取得する
3. 分析 Claude Code 抽出した内容をもとに推論する
4. 実行 Claude Code 結果に基づいて実装、比較、レポートを行う

これが根拠あるリサーチです。エージェントは学習データや断片的なスニペットに依存しません。重要なページの、実際で最新の内容をもとに動きます。


いつクロールし、いつ検索するか

検索を使うとき... クロールを使うとき...
すばやい答えが必要 ページ全体が必要
どのページがあるか探している 必要なページが分かっていて、そのすべてを読みたい
引用付きの根拠ある要約が必要 構造化データの抽出が必要
速度が最優先 深さが最優先
答えがスニペットに収まる 答えが表、リスト、複数セクションにまたがる

多くのリサーチワークフローは両方を使います。発見には検索、抽出にはクロールです。


FAQ

ウェブクロールはJavaScriptでレンダリングされるページでも動きますか?

はい。ランタイムは抽出前にReact、Vue、SPAなどの動的コンテンツをレンダリングします。ブラウザで見えるものが、エージェントにも渡ります。

ウェブクロールはClaude Codeの組み込みウェブ検索とどう違うのですか?

Claude Codeの組み込みウェブ検索はスニペットと要約を返します。ウェブクロールは、すべての見出し、段落、表、コードブロックを含むページ全体をMarkdownで返します。すばやい答えには検索を。深さが必要なときはクロールを使ってください。

1回のセッションで複数ページをクロールできますか?

はい。URLごとに anycap crawl を1回実行します。エージェントはURLのリストを順番にクロールできます。結果はすべてローカルのMarkdownファイルとして保存されます。

ページがクローラーをブロックしたらどうなりますか?

一部のページは自動アクセスをブロックします。ランタイムはrobots.txtを尊重し、アクセス制限を適切に処理します。ページをクロールできない場合、エージェントは黙って失敗せず、明確なエラーメッセージを受け取ります。

CursorやCodexでも使えますか?

はい。anycap crawl は同じCLIを使い、Claude Code、Cursor、Codex で動作します。1回のインストールで、すべてのエージェントに対応します。


結論

ウェブ検索は、何が存在するかをエージェントに伝えます。ウェブクロールは、それを読めるようにします。競合調査、ドキュメント駆動開発、コンテンツ抽出では、検索だけでは不十分です。

エージェントに両方を与えてください。見つけるために検索し、理解するためにクロールするのです。


Claude CodeにフルWebアクセスを与える — 1つのCLIで検索 + クロール


📖 次に読むもの


関連記事


AnyCapチームより。私たちは、引用付きウェブ検索、ページ全体のクロール、そしてあなたが介在しなくても調査に必要なすべてをエージェントに与える capability runtime を構築しています。