1. Search user guide

JavaScriptドキュメントエクストラクタを作成する

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

属性値を抽出する関数を使ったJavaScriptドキュメントエクストラクタを作成します。このタイプのエクストラクタは、XPath式では不十分な複雑な状況で通常この方法で使われます。

!注 高度なウェブクローラーAPIクローラー ソースを組み合わせたJavaScriptドキュメントエクストリクタを使うことができます。

特定のGLOBパターンの条件に一致するURLから属性値を抽出するためにJavaScriptを使う方法:

  1. メニューバーで 「Sources」をクリックし、作成したソースを選択します。

  2. ソースSettingsページで**、ドキュメント抽出器の横に「pencil_grey.png編集**」をクリックします。

  3. ドキュメントエクストラクターを作成するには、ドキュメントエクストラクターのページで:

    • 名前欄に抽出器の意味のある名前を入力します。

      例えば、住宅ローンのJS抽出器に入ります。

    • Extractor Typeのドロップダウンメニューで**、JS**をクリックします。

    • オプションとして、このエクストラクタのロジックが特定のパターンに一致するURLにのみ適用されるようにするために、URLを「Match」に設定してください。これを行うには、「URLs To Match」フィールドで「Add Matcher」をクリックしPlus_add__grey.png 「Add Matcher」をクリックし、使いたい式のタイプを選択し、その式の値を入力してください。

      例えば、この形式の*/homeloans/*ですべてのURLをクロールするには、TYPEドロップダウンメニューのGlob Expressionをクリックし、VALUEを**/homeloans/**.*として入力できます。

  4. タグセクションで、最初のタグの横にある**「編集**pencil_grey.png」をクリックします。通常はコンテンツタグです。

    タグエディターには、説明名前タイプimage_url*、URL*属性を返すサンプルJavaScript関数が見られます。Search設定の助けとしてこのサンプルを提供しています。

    !注ドキュメントエクストラクターでは、それぞれがユニークなタグにリンクされた複数のタグガーを作成できます。

    例えば、5つの属性の抽出方法を定義するJavaScript関数を持つタグ付け器が1つある場合、各ドキュメントに5つの属性を持つ1つのインデックス文書セットが得られます。しかし、タグ付けが3つで、それぞれに1つの属性を定義するJavaScript関数がある場合、各ドキュメントに1つの属性を持つ3つのインデックスドキュメントセットができます。

  5. タグエディターでサンプル関数を編集するか、新しいJavaScript関数を貼り付けて属性値を返します。

    !注関数はCheerio構文を使用し、オブジェクトの配列を返さなければなりません。

    例えば、ペーストを貼り付けます:

    function extract(request, response) { $ = response.body; curr_url = request.url;

    let url = request.url; let type, subtype; type = 'homes';

    if (url.includes('/moving/')) { subtype = 'Moving'; } else if (url.includes('/plans-products/')) { subtype = 'Plans and products'; } else if (url.includes('/partnerships/')) { subtype = 'Partnerships'; } else if (url.includes('/referrals/')) { subtype = 'Referrals'; } else { subtype = 'misc'; }

    let name, subtitle, description, image, date, year;

    name = $('h1class="main-title"').text() !== null ? $('h1class="main-title"').text().replace(/\s\s+/g, ' ').trim() : ''; subtitle = $('h2class="htmlSubtitle"').text() !== null ? $('h2class="htmlSubtitle"').text().replace(/\s\s+/g, ' ').trim() : ''; description = $('divclass="bodycopy"').text() !== null ? $('divclass="bodycopy"').text().replace(/\s\s+/g, ' ').trim() : ''; image = $('divclass="hero-img"').find('img').attr('src') !== null ? 'https://www.txu.com' + $('divclass="hero-img"').find('img').attr('src') : '';

    return { 'name': name, 'subtitle': subtitle, 'description': description, 'image_url': image, 'type': type, 'subtype': subtype, 'url': url }; }

    この関数は以下のロジックを使って属性を取得します:

    • type - 固定価値、例えば 住宅を用いる。
    • subtype - URLパスに応じて5つの値を取ることができる変数。
    • url - これを取って request.url。
    • name -

      タグのテキストに値がある場合、そのテキストの修正形を Nameとして使います。空の場合は空文字列を Nameに使います。

      日本語翻訳に関する免責事項

      このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

    • subtitle -

      タグのテキストに値がある場合、そのテキストの修正形を Nameとして使います。空の場合は空文字列を Nameに使います。

    • description - ``
      クラスのテキストに値がある場合、そのテキストの修正形を Descriptionとして使用します。空の場合は空文字列を Descriptionに使います。
    • image_url- hero-img``divクラスのimg src属性に値がある場合は、そのURLの修正形を使用します。空の場合は空文字列を使いImage_url
  6. タグエディターで「 保存」をクリックします。

  7. オプションで、別のタグの属性を抽出するには「タグ付けPlus_add__grey.png追加」をクリックし、タグのドロップダウンメニューでタグをクリックしてステップ5と6を繰り返します。

  8. ドキュメント抽出器のページで、保存をクリックします。

この記事を改善するための提案がある場合は、 お知らせください!