スクレイピングの設定

📘

参考ドキュメント

このドキュメントからこのページの内容を補完する情報を参照してください。

Open Graphタグやliftigniter-metadataタグを使用する代わりに、我々のスクリプトに、任意のDOMを選択するセレクタや、グローバルのコンテキスト(window)からアクセスできるJavascript変数をスクレープしたい場合があります。

例えば、下記のようなHTMLのタグがページにあったとします:

<div id="item"> Delicious Pasta </div>
<a href="www.cooking123.com">Author's blog</a>
<a rel="author" href="/italian/Chef-James/">Chef James</a>

[config]で[features]を定義して、エレメントや属性をスクレープしたい場合

var customConfig = {
	config: {
    inventory : {
    	features: [
      	{
          name: "title",
          selector: "div[id=item]",
          type: "text",
          transform: function(value) {
        	  return value.trim();
          }
    	  },
        {
       	  name: "authorBlog",
          selector: "a[rel=author]",
          type: "attribute",
          attribute: "href"
        }
      ]
    }
  }
}

$p("init","{JS_KEY}", customConfig);

[selector]のパラメータで指定された[CSS selector]のデータを含むDOMを指定できます。[name]は、アイテムのメタデータとして渡すデータの名前です。[type]は、スクレープシたいデータのタイプです。[text]が指定されている場合は、指定されたDOMのテキストコンテンツを取得します。[attribute]が指定されている場合は、指定されたattributeの値(例えば画像の[src]の値など)をスクレープします。

`[transform]は、スクレープした値をデータストアに送る前に、指定した出力に変換する関数です。

最後に、windowの変数をスクレープしたい場合は、下記のとおりに[feature]を指定できます。

// window.metadata.pageUrlの値を取得する
var customConfig = {
	config: {
    inventory: {
  	  features: [
    	  {
          name: "url",
          type: "var",
          variable: "metadata.pageUrl" // scrapes window.metadata.pageUrl
    	  }
      ]
    }
  }
}

$p("init","{JS_KEY}", customConfig);

featureオブジェクトの要約は下記のとおりです:

Name

種類

説明

name

文字列

スクレープするfeatureの名前

type

文字列

スクレイプするfeatureの種類: attribute、url、およびvarをサポートしています。

selector

文字列

スクレープしたいDOMのCSS Selector

attribute

文字列

解析したいDOMエレメントの属性。

transform

関数(文字列)

スクレープシた値の出力に適応する変換関数