概要
CxenseのクローラはCxense Insightのスクリプトを挿入したWebページの内容を取得します。 取得されたページは即座に解析され、様々な種類のデータに分類されます。通常、文書処理機能はデータ分析を自動的に最適な形で行います。しかし、中には特にニュース記事のフォーマットなどのページの場合には、文書処理に失敗することがあります。 このようなケースではページに補助的なタグを加える事で、文書処理をサポートします。
典型的なデータ処理の失敗する例は以下の通りです。
-
そのデータがありません。 – たとえば記事の著者名がページ内のどこにもありません。
-
データは別のタグに紐づいています。 – <title>タグにタイトルが保持されていませんが、記事には「トップニュース」の見出しがあります。
-
データが正しく紐づけられていません。 – <og-image>タグはレコメンドに適さない画像へのリンクを含む場合があります。
-
データに間違った形式もしくは通常利用されない形式があります。 – 例)イタリア式の日付形式: 12 gennaio 2016
-
Webページに複数のURLがあります。 - 同じWebページにhttp://server.com/page.html と http://server.com/news/article.html としてアクセスできます
-
データは文書処理出来ないHTML構造でカプセル化されています。 – ニュース記事以外の素材が、ニュース記事の一部として文書処理が取り込む為にページに含まれています。
上記の代表的な5つの問題は、正しい値を指定するheadセクション(metaタグまたはcanonical linkタグ)にタグを追加することで修正できますが、最後の例はbodyセクションのコンテンツタグで修正できます。
以下にリストされているほとんどのタグに関する詳細情報は、Document parsingとCxense Content<メタデータを利用したレコメンデーションの改善>でご覧いただけます。
Meta、Canonical URL タグ
同じ種類のデータを処理するためのmetaタグが複数検出された場合 (例:cXenseParse:title, og:title, title)、 以下の優先順で取得するデータを決定します。また、前のセクションでリストされたタグは後のセクションでリストされているタグよりも優先されます。
Cxense Metaタグ
Cxense metaタグは同じ情報を保持する他のmetaタグより優先されます。Cxenseタグは一般的に利用されるもの (cXenseParse:title 等) の他にCxenseのシステムで利用する為に特化したものがあります。
(Cxense Contentで利用されるタグ: cXenseParse:recs:image 等).
-
cXenseParse:title
-
cXenseParse:author
-
cXenseParse:description
-
cXenseParse:keywords
-
cXenseParse:pageclass
-
cXenseParse:recs:image
-
cXenseParse:recs:publishtime
-
cXenseParse:recs:articleid
-
cXenseParse:recs:recommendable
-
cXenseParse:recs:recommending
-
cXenseParse:recs:category
-
cXenseParse:recs:expirationtime
Facebook Open Graph Meta データ(OGP)
Facebookは、Facebookプラットフォームでデータを投稿または取得するアプリケーション用のAPIを提供しています。このAPIの一部は、ディベロッパーが記事のタイトル、イメージ等をFacebookに指示するOpen Graphプロトコルです。Cxenseクローラは、対応するCxense Metaタグが存在しない場合には次のOpen Graph metaデータから取得します。
-
og:title
-
og:description
-
og:keywords
-
og:image
-
og:article:published_time
-
og:article:author, og:book:author
標準の HTML Headers および その他のタグ
これらは上記のタグが見当たらない、取得できない場合に利用される最終ラインのタグです(例外は本文<body>内に記述可能な title 及び date です。下記の例をご参照ください)。
-
title
-
description
-
keywords
-
date, dc.date, dc.date.created, dc.terms.issued, pub_date, article.published
-
author, dc.creator, article.author
Canonical Url タグ
同じWebページに複数のURLでアクセスできる場合は、正規化URLタグ(link canonical)を追加する必要があります。正規化URLタグが無い場合にはページはInsightに別々のドキュメントとして登録され、それぞれPVイベントが発生します。
Date/Time フォーマット
メタタグで使用されるデータフォーマットは ISO 8601 4.3.2 (a) 拡張書式の異字体にしたがっています。
2012-03-01T13:00:00Z
-
コンポーネントはこの順にリストされています。
-
year, month, day of the month, time designator, hour, minute, second, zone designator
-
-
time designator は大文字のT
-
zone designator は大文字のZ (UTC/グリニッジ時間) または +/- 時間差 '+04', '06:00', '-08:30', 等
-
コンポーネントは日付コンポーネントT時間コンポーネントで zone の前に +/- (もしなければZ)
-
YYYY-MM-DDThh:mm:ss±hh:mm
-
YYYY-MM-DDThh:mm:ssZ
-
-
機能依存のため推奨されていませんが、記号は切り捨てられます
-
YYYY-MM-DDThh:mm:ssZ
-
YYYY-MM-DD
-
-
全てのコンポーネントは先頭に 0 を追加することで最大文字数を使わなければなりません。
(したがって、8月の月は8ではなく08、午後1時の1は01)-
2016-08-21T01:00:00Z
-
-
24時間表記は使用可能です(したがった PM 9:00 を 21:00)
-
2016-08-21T21:00:00Z
-
全Metaタグを挿入した際のトップダウン
以下に、種類別優先度順のMetaタグ/データ抽出を行うhtmlページの例を示します。
|
コンテンツタグ
HTMLページは通常、意味のある内容(記事本文)と、フッター、サイドバー、メニュー等必要無いテキストが混在しています。 Cxense Crawlerは特にニュース記事などページ内の関連コンテンツを抽出処理する機能に優れています。 ただし、クローラが抽出するコンテンツを指定する為に補助的な役割を持つタグがあります。
コンテンツタグ例
関連コンテンツには、html div属性cXenseParseまたはHTMLのコメントにcxenseparse_start / cxenseparse_endをペアで使用して抽出箇所を明示できます。
|
カスタムマークアップ
これまでに説明したマークアップに関しては、クローラが抽出したいデータを抽出出来ない場合、修正や補う事を解説してきました。このセクションでは、クローラがデフォルトで抽出したデータ以外のデータを追加する為のマークアップについて説明します。下記は架空のフルーツを取り扱うWebサイトで、一つor複数のフルーツをページコンテンツに紐づけたい時のマークアップの例です。
|
「cXenseParse:xyz-」の「xyz」はお客様固有のカスタマプリフィックスです。 このメタタグを持つドキュメントは、コンテンツプロファイルのキー、xyz-fruitで取り扱うことができます。 このマークアップで付与した情報はCxense Insight GUIに表示出来、それに基づいてトラフィックや検索のクエリを作成することができます。
更新されたページの再クロール
上記で記述された変更が意図した効果をもたらすには、
まずページを再クロールして、再処理しなければなりません。
再クロールに際しては以下の4つの方法があります。
-
何もしない - 何もせずにページが再クロールされるのを待ちます。
-
単一ページを再クロールする - 更新されたばかりの単一ページを再クロールする方法は以下の通りです。開発時の変更をテストするには良い方法です。
-
スクリプトを書く - Cxense API スクリプトの /profile/content/push を使います。
-
再クロールのメタタグを追加する - 前回のクロール時間よりも新しい時刻の modified time メタタグがあるページでは次のユーザーがページに訪問後すぐに再クロールされます。
<meta property="article:modified_time" content="2016-12-16T14:18:00-05:00">