参考ドキュメント
このドキュメントからこのページの内容を補完する情報を参照してください。
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 | 関数(文字列) | スクレープシた値の出力に適応する変換関数 |