> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ウェブクローラーの使用

> スマートAI検索のためにウェブページをインデックスする

**ウェブクローラー**を使用すると、ウェブサイトのドメインURLを使用してウェブサイトから情報を自動的に収集できます。ドメイン内の検出可能なページはすべて自動的にナレッジベースに追加されます。コンテンツが頻繁に更新されるウェブサイトの場合、定期的なクロールをスケジュール設定し、新しく追加されたページから最新の情報とコンテンツをナレッジベースに追加できます。さらに、クロールパターン内で特定のキーワードやパスを指定し、ウェブサイトの特定のセクションのみを抽出することもできます。

## クロールパターン

**パターン**は、単純なURL文字列の一致に基づいて、クロールまたは処理されるページをすばやく簡単に制限できます。例えば、[http://www.example.com/sports/heres-a-sports-article.html](http://www.example.com/sports/heres-a-sports-article.html) の「スポーツ」カテゴリ内のページのみをクロールする場合、クロールパターンとして`/sports/`（スラッシュを含めることで精度を高め、URL内の他の場所での「sports」文字列の一致を回避できます）を指定できます。

クロールパターンを使用すると、特定のサブドメインにクロールを制限できます。例えば、特定のドメインで開始されるクロールでは、クロールパターンを入力して望ましくないリンクからのクロールを防止できます。
ウェブクロール設定では、各個別パターンを新しい行に記入することで、複数のパターンを入力して複数の文字列に一致させることができます。

利用可能なクロールパターンは以下の通りです：

<AccordionGroup>
  <Accordion title="URLの先頭に一致を制限する">
    カレット文字（`^`）を使用して、パターンの一致をURLの先頭に制限します。例えば、`^https://example.com`という処理パターンは、URLが`https://example.com`で始まるページのみに処理を制限します。
  </Accordion>

  <Accordion title="否定一致パターン">
    感嘆符（`!`）を使用して「否定一致」を行い、ページのクロールまたは処理を明示的に除外します。
    <Warning>複数のパターンを使用する場合、否定一致は他のクロールパターンより優先されます（正規表現は除きます。正規表現は他のパターンよりも優先されます）。</Warning>
  </Accordion>

  <Accordion title="正規表現によるクロールと処理">
    クロールまたは処理するURLの一致を正確に制御するには、正規表現（regex）を作成して、定義した式に一致するURLのみをクロールまたは処理できます。例えば、`https://example.com/`の「`/crawl`」パス以下のページで「regex」という用語を含むページを処理する場合、以下のような処理正規表現を使用できます：`\\/crawl.*?regex`
    クロールボットは、ページの評価時に最適なパフォーマンスを実現するためのカスタム正規表現エンジンを採用しています。Crawlbot解析で一般的に使用されるキャラクタクラス構文について、クロールボットはすべてのASCII処理文字とほとんどのPerl/Tclショートカットをサポートしています。
    <Warning>クロールおよび処理の正規表現は、他のクロールパターンと同時に使用することはできません。両方が指定された場合、正規表現が他のクロールパターンを上書きします。</Warning>
  </Accordion>

  <Accordion title="HTML処理パターン">
    クロールでは、HTML処理パターンに基づいて処理ページを制限できます。これはクロール時にrawソースのみを検証し、JavaScript/AJAXは実行しません。ただし、このオプションの欠点はクロール速度です。
    より高速なクロール速度が必要な場合は、正規表現クロールと処理を使用する必要があります。
  </Accordion>
</AccordionGroup>

## クローラーを使用すべき場面

クローラーは、ウェブから構造化された高価値情報を抽出するために設計されています。データが公開されており、定期的に更新されるシナリオで最も効果的に機能します。

### 最適なユースケース

* **ニュースとメディア** – BBC Newsなどのサイトから記事を抽出する
* **金融データ** – NASDAQなどの株式サイトから市場インサイトを収集する
* **Eコマース** – マーケットプレイスから商品リスト、レビュー、価格情報を収集する
* **ナレッジリソース** – ブログ記事、フォーラムの議論、FAQコンテンツをキャプチャして、ナレッジベースを充実させる

### クローラーを使用すべきでない場面

エラーやコンプライアンス上の問題を防止するために、これらの状況ではクロールを避けてください：

* **認証が必要な場合** – ログインクレデンシャルが必要なウェブサイト（例：LinkedIn）。
* **高度に動的なダッシュボード** – リアルタイムダッシュボード（ライブ株価ティッカーなど）は完全な結果を返さない場合があります。
* **サイトへの過剰な負荷** – 各サイトの使用ポリシーを遵守してください。クロール前に必ず`robot.txt`ファイルを確認してください。

## 新しいクローラーを作成する

1. EKBプロジェクトで**ナレッジベース**に移動します。
2. ナレッジベースで、右上隅の**歯車**アイコンをクリックします。
3. **クローラー**タブに移動します。
4. **+ 新規作成**をクリックします。
5. **入力**セクション：<br /><img src="https://mintcdn.com/automationanywhere/-dnDAw8Ty1Kp1N7X/img/knowledge-base/crawler-input.png?fit=max&auto=format&n=-dnDAw8Ty1Kp1N7X&q=85&s=e167d3d78796e4e0ca1a3976b6f100f3" alt="クローラーアイテ" width="1081" height="313" data-path="img/knowledge-base/crawler-input.png" />
   **a**. クローラーの**名前**を入力します。<br />
   **b**. クロールしたいウェブサイトへのリンクである**シードURL**を入力します。これはクローラーがアクセスする初期リンクです。そこから、クローラーはウェブサイト内のウェブページとリンクを探索します。
6. **クローラー設定**セクション：<br /><img src="https://mintcdn.com/automationanywhere/-dnDAw8Ty1Kp1N7X/img/knowledge-base/crawler-settings.png?fit=max&auto=format&n=-dnDAw8Ty1Kp1N7X&q=85&s=acfb255d717bc1dda72c9da1e413d45d" alt="クローラー設定" width="1094" height="900" data-path="img/knowledge-base/crawler-settings.png" />
   * **ルートドメインに制限** – クローラーがルートドメインのみに焦点を当てるよう設定し、関連情報の抽出を効率化します。
   * **ファイルをダウンロード** – クロール中に見つかったファイルをダウンロードして処理したい場合に、このオプションを有効にします。
   * **クロールする最大ページ数** – リソースの使用量と効率を最適化するために、クロールする最大ページ数を設定します。
   * **最大深度** – シードURLからのクロールの最大深度（つまり、何リンク深までフォローするか）を設定します。
   * **クロール戦略** – クローラーがどのページを最初に訪問するかの優先順位付け方法を選択します。
     * **ベストファースト** – このオプションを選択した場合、クローラーがこれらのページを見つけるために使用するキーワードと、それらのキーワードの重みを設定する必要があります。
       * **ベストファースト用キーワード** – このテキストボックスで設定したキーワードを含むページが最初にクロールされます。1行に1つのキーワードを入力してください。
       * **キーワードの重み** – キーワードマッチングのためのキーワードの重みを設定します。値が大きいほど、キーワードマッチングの優先度が高くなります。
     * **ブレッドファースト** – この方法は、より深い部分に潜入する前に、現在のページから直接リンクされたすべてのページの訪問を優先します。
     * **デプスファースト** – この方法は、バックトラックして他のパスを探索する前に、単一のリンクパスに沿ってできるだけ深く探索することを優先します。
   * **ドメインに制限** – ルートドメイン内のすべてのサブドメインをクロールする代わりに、特定のドメインにクローラーを制限します。1行に1つのドメインを入力するか、空白のままにするとすべてのサブドメインをクロールします。
   * **パターンに制限** – クローラーに使用させたいクロールパターンを入力します。1行に1つのクロールパターンを入力してください。<br /><Warning>複数のクロールパターンを使用する場合、以下の階層になります：<br />1. 正規表現<br />2. 否定一致<br />3. その他すべてのパターン。</Warning>
7. **スケジュール**セクションで、定期クロールの頻度と時刻を定義します：<br /><img src="https://mintcdn.com/automationanywhere/-dnDAw8Ty1Kp1N7X/img/knowledge-base/crawler-scheduling.png?fit=max&auto=format&n=-dnDAw8Ty1Kp1N7X&q=85&s=777db3f60a3788d45e19144c6634e080" alt="クローラースケジュール" width="1063" height="330" data-path="img/knowledge-base/crawler-scheduling.png" />
   * **クロールを有効にする** – このオプションを有効にして、クロールスケジュールを設定します。
   * **n日ごとに繰り返す** – クロールを実行する日数を設定します。例：<br />
     * **毎日** = `1`
     * **毎週** = `7`
     * **隔週** = `14`
     * **毎月** = `30`
   * **次回スケジュール** – 入力した日数に応じて、次回のクロール日が表示されます。
8. ウェブクロールの設定が完了したら、**今すぐクロール**をクリックして最初のクロールを開始します。以下のタブを含む新しいクローラーの設定ページにリダイレクトされます：<br /><img src="https://mintcdn.com/automationanywhere/-dnDAw8Ty1Kp1N7X/img/knowledge-base/crawler-overview.png?fit=max&auto=format&n=-dnDAw8Ty1Kp1N7X&q=85&s=506fdc74fff101527f421f3fe4985d9f" alt="クローラー概要" width="1919" height="945" data-path="img/knowledge-base/crawler-overview.png" />
   * **概要** – クロールリクエストの情報とステータスを確認できる場所です。
   * **設定** – クローラーの設定を編集できる場所です。クロール実行後でもこれらの設定を編集できます。
   * **クロールレポート** – このタブでは、クロール中のページのリアルタイム更新を提供します。

<Check>これでクローラーが設定され、最初のクロールを実行しています！</Check>

## ベストプラクティス

<Check>これらのベストプラクティスに従うことで、クローラーが効率的に動作し、不要な重複を回避し、最も関連性の高いデータのみをナレッジベースに取り込むことができます。</Check>

### 1. 明確で簡潔なシードURLを使用する

抽出したいウェブサイトのセクションを直接指すURLを選択してください。

* **良い例**：`https://www.example.com/news`（「ニュース」セクションのみをターゲット）
* **悪い例**：`https://www.example.com?user=1234`（動的パラメータを使用すると、エラーや冗長なクロールが発生する可能性があります）

必ず以下を確認してください：

* URLがアクセス可能で、抽出したいデータに関連していること。
* 特定のセクションにクロールを制限したい場合は、サブページを使用すること。

### 2. ドメインとサブドメインに制限する

不要なまたは無関係なデータの取り込みを防ぐために、クロールを集中させてください。

* **ルートドメインに制限** – `example.com`をクロールすると、そのドメインのみをキャプチャし、外部リンク（例：otherwebsite.com）は無視します。
* **ドメインに制限** – `blog.example.com`をクロールしても、`shop.example.com`などの他のサブドメインは含まれません。

#### 例

`https://www.bbc.com`を**ルートドメインに制限**を有効にしてクロールすると、BBCのコンテンツのみが含まれ、サイトにリンクされている外部ニュースソースは含まれなくなります。

### 3. クロールパターンと処理パターンを使用する

パターンを使用して、クローラーが取得・処理する内容を微調整できます。

* **クロールパターン** – どのURLをクロールするかを定義します。
* **処理パターン** – どのコンテンツをナレッジベースに抽出するかを指定します。
  どちらも簡略化された正規表現構文を使用します：
* **暗黙のワイルドカード** – `products`を入力すると、「products」を含む任意のURLに一致します。
* **否定（`!`）** – `!products`は「products」を含まない任意のURLに一致します。
* **先頭一致（`^`）** – `^https://example.com/products/`は、そのパスで始まるURLに一致します。
* **末尾一致（`$`）** – `products/$`は「products」で終わるURLに一致します。

#### 例

* **クロールパターン** – `https://example.com/products/*` > すべての商品ページをクロールします。
* **処理パターン** – `https://example.com/products/*reviews` > 商品ページからレビューのみを抽出します。

### 4. 定期クロールを有効にする（必要に応じて）

動的ウェブサイトの場合、定期クロールをスケジュール設定して、ナレッジベースを最新の状態に保ちます。

#### 例

日次クロールを有効にして、`https://www.nasdaq.com`で株価を追跡します。

### 5. サイトマップを活用して効率を高める

サイトがサイトマップ（例：`https://example.com/sitemap.xml`）を提供している場合、それを活用してクローラーをガイドし、完全なカバレッジを確保します。

#### 例

すべての最近の記事をリストアップするサイトマップを持つニュースウェブサイトは、記事が漏れることを保証します。
