クロールパターン
パターンは、単純なURL文字列の一致に基づいて、クロールまたは処理されるページをすばやく簡単に制限できます。例えば、http://www.example.com/sports/heres-a-sports-article.html の「スポーツ」カテゴリ内のページのみをクロールする場合、クロールパターンとして/sports/(スラッシュを含めることで精度を高め、URL内の他の場所での「sports」文字列の一致を回避できます)を指定できます。
クロールパターンを使用すると、特定のサブドメインにクロールを制限できます。例えば、特定のドメインで開始されるクロールでは、クロールパターンを入力して望ましくないリンクからのクロールを防止できます。
ウェブクロール設定では、各個別パターンを新しい行に記入することで、複数のパターンを入力して複数の文字列に一致させることができます。
利用可能なクロールパターンは以下の通りです:
URLの先頭に一致を制限する
URLの先頭に一致を制限する
カレット文字(
^)を使用して、パターンの一致をURLの先頭に制限します。例えば、^https://example.comという処理パターンは、URLがhttps://example.comで始まるページのみに処理を制限します。否定一致パターン
否定一致パターン
感嘆符(
!)を使用して「否定一致」を行い、ページのクロールまたは処理を明示的に除外します。
正規表現によるクロールと処理
正規表現によるクロールと処理
クロールまたは処理するURLの一致を正確に制御するには、正規表現(regex)を作成して、定義した式に一致するURLのみをクロールまたは処理できます。例えば、
https://example.com/の「/crawl」パス以下のページで「regex」という用語を含むページを処理する場合、以下のような処理正規表現を使用できます:\\/crawl.*?regex
クロールボットは、ページの評価時に最適なパフォーマンスを実現するためのカスタム正規表現エンジンを採用しています。Crawlbot解析で一般的に使用されるキャラクタクラス構文について、クロールボットはすべてのASCII処理文字とほとんどのPerl/Tclショートカットをサポートしています。
HTML処理パターン
HTML処理パターン
クロールでは、HTML処理パターンに基づいて処理ページを制限できます。これはクロール時にrawソースのみを検証し、JavaScript/AJAXは実行しません。ただし、このオプションの欠点はクロール速度です。
より高速なクロール速度が必要な場合は、正規表現クロールと処理を使用する必要があります。
クローラーを使用すべき場面
クローラーは、ウェブから構造化された高価値情報を抽出するために設計されています。データが公開されており、定期的に更新されるシナリオで最も効果的に機能します。最適なユースケース
- ニュースとメディア – BBC Newsなどのサイトから記事を抽出する
- 金融データ – NASDAQなどの株式サイトから市場インサイトを収集する
- Eコマース – マーケットプレイスから商品リスト、レビュー、価格情報を収集する
- ナレッジリソース – ブログ記事、フォーラムの議論、FAQコンテンツをキャプチャして、ナレッジベースを充実させる
クローラーを使用すべきでない場面
エラーやコンプライアンス上の問題を防止するために、これらの状況ではクロールを避けてください:- 認証が必要な場合 – ログインクレデンシャルが必要なウェブサイト(例:LinkedIn)。
- 高度に動的なダッシュボード – リアルタイムダッシュボード(ライブ株価ティッカーなど)は完全な結果を返さない場合があります。
- サイトへの過剰な負荷 – 各サイトの使用ポリシーを遵守してください。クロール前に必ず
robot.txtファイルを確認してください。
新しいクローラーを作成する
- EKBプロジェクトでナレッジベースに移動します。
- ナレッジベースで、右上隅の歯車アイコンをクリックします。
- クローラータブに移動します。
- + 新規作成をクリックします。
- 入力セクション:
a. クローラーの名前を入力します。
b. クロールしたいウェブサイトへのリンクであるシードURLを入力します。これはクローラーがアクセスする初期リンクです。そこから、クローラーはウェブサイト内のウェブページとリンクを探索します。 - クローラー設定セクション:
- ルートドメインに制限 – クローラーがルートドメインのみに焦点を当てるよう設定し、関連情報の抽出を効率化します。
- ファイルをダウンロード – クロール中に見つかったファイルをダウンロードして処理したい場合に、このオプションを有効にします。
- クロールする最大ページ数 – リソースの使用量と効率を最適化するために、クロールする最大ページ数を設定します。
- 最大深度 – シードURLからのクロールの最大深度(つまり、何リンク深までフォローするか)を設定します。
- クロール戦略 – クローラーがどのページを最初に訪問するかの優先順位付け方法を選択します。
- ベストファースト – このオプションを選択した場合、クローラーがこれらのページを見つけるために使用するキーワードと、それらのキーワードの重みを設定する必要があります。
- ベストファースト用キーワード – このテキストボックスで設定したキーワードを含むページが最初にクロールされます。1行に1つのキーワードを入力してください。
- キーワードの重み – キーワードマッチングのためのキーワードの重みを設定します。値が大きいほど、キーワードマッチングの優先度が高くなります。
- ブレッドファースト – この方法は、より深い部分に潜入する前に、現在のページから直接リンクされたすべてのページの訪問を優先します。
- デプスファースト – この方法は、バックトラックして他のパスを探索する前に、単一のリンクパスに沿ってできるだけ深く探索することを優先します。
- ベストファースト – このオプションを選択した場合、クローラーがこれらのページを見つけるために使用するキーワードと、それらのキーワードの重みを設定する必要があります。
- ドメインに制限 – ルートドメイン内のすべてのサブドメインをクロールする代わりに、特定のドメインにクローラーを制限します。1行に1つのドメインを入力するか、空白のままにするとすべてのサブドメインをクロールします。
- パターンに制限 – クローラーに使用させたいクロールパターンを入力します。1行に1つのクロールパターンを入力してください。
- スケジュールセクションで、定期クロールの頻度と時刻を定義します:
- クロールを有効にする – このオプションを有効にして、クロールスケジュールを設定します。
- n日ごとに繰り返す – クロールを実行する日数を設定します。例:
- 毎日 =
1 - 毎週 =
7 - 隔週 =
14 - 毎月 =
30
- 毎日 =
- 次回スケジュール – 入力した日数に応じて、次回のクロール日が表示されます。
- ウェブクロールの設定が完了したら、今すぐクロールをクリックして最初のクロールを開始します。以下のタブを含む新しいクローラーの設定ページにリダイレクトされます:
- 概要 – クロールリクエストの情報とステータスを確認できる場所です。
- 設定 – クローラーの設定を編集できる場所です。クロール実行後でもこれらの設定を編集できます。
- クロールレポート – このタブでは、クロール中のページのリアルタイム更新を提供します。
これでクローラーが設定され、最初のクロールを実行しています!
ベストプラクティス
これらのベストプラクティスに従うことで、クローラーが効率的に動作し、不要な重複を回避し、最も関連性の高いデータのみをナレッジベースに取り込むことができます。
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)を提供している場合、それを活用してクローラーをガイドし、完全なカバレッジを確保します。