【文献】
灘本 明代、田中 克己,B−CWB:類似コンテンツの視点差異情報を同時提示する多言語Webブラウザ,情報処理学会研究報告,日本,社団法人情報処理学会,Vol.2003、No.71,p.97−101
(58)【調査した分野】(Int.Cl.,DB名)
複数のWebページの各々に関し、Webページ記述用言語で記述されたデータに従いレンダリングエンジンにより描画されたWebページの表示内容を表す表示データと、当該Webページの描画において前記レンダリングエンジンが決定した当該Webページに含まれる複数の構成要素の各々のレイアウトを示すレイアウトデータとを取得するデータ取得手段と、
前記複数のWebページの各々に関し、当該Webページの表示領域を、当該Webページに関する前記レイアウトデータが示すレイアウトに基づき予め定められた規則に従い特定される点を通る縦線および横線で分割する分割手段と、
前記複数のWebページの各々に関し前記分割手段による分割により得られた複数の分割表示領域の各々を、前記複数のWebページの間で対応付ける対応付手段と、
前記対応付手段により対応付けられた複数の分割表示領域におけるWebページの表示内容を比較し、当該比較の結果を示す比較結果データを生成する比較手段と
を備えるWebページ比較装置。
前記抽出手段は、前記データ取得手段が取得した表示データが表すWebページの面積に応じて定まる数の属性データを予め定められた規則に従い抽出し、当該抽出した属性データが付された構成要素に関するレイアウトデータを抽出する
請求項2に記載のWebページ比較装置。
前記比較手段は、比較対象のWebページのうちの一のWebページの表示データを、前記比較において表示内容が一致する分割表示領域と表示内容が一致しない分割表示領域とで異なる表示態様となるように変更したデータを前記比較結果データとして生成する
請求項1に記載のWebページ比較装置。
前記比較手段は、比較対象のWebページのうちの一のWebページの表示データを、当該Webページの表示領域を構成する複数の分割表示領域の各々において、前記比較において一致する部分と一致しない部分とで異なる表示態様となるように変更したデータを前記比較結果データとして生成する
請求項1に記載のWebページ比較装置。
データ処理装置が、複数のWebページの各々に関し、Webページ記述用言語で記述されたデータに従いレンダリングエンジンにより描画されたWebページの表示内容を表す表示データと、当該Webページの描画において前記レンダリングエンジンが決定した当該Webページに含まれる複数の構成要素の各々のレイアウトを示すレイアウトデータとを取得するステップと、
前記データ処理装置が、前記複数のWebページの各々に関し、当該Webページの表示領域を、当該Webページに関する前記レイアウトデータが示すレイアウトに基づき予め定められた規則に従い特定される点を通る縦線および横線で分割するステップと、
前記データ処理装置が、前記複数のWebページの各々に関し前記分割するステップにおける分割により得られた複数の分割表示領域の各々を、前記複数のWebページの間で対応付けるステップと、
前記データ処理装置が、前記対応付けるステップにおいて対応付けた複数の分割表示領域におけるWebページの表示内容を比較し、当該比較の結果を示す比較結果データを生成するステップと
を備えるWebページ比較方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
Webページは、WebブラウザがWebページ記述用言語で記述されたデータを解釈した結果、表示される。1つのWebページの内容は、HTML(HyperText Markup Language)に加え、CSS(Cascading Style Sheets)やJavaScript(登録商標)等の複数の言語で記述されることが多い。その場合、例えばHTMLにより記述されたWebページの内容が、CSSやJavaScript(登録商標)等の言語で記述されたデータに従い変更された後、表示される。従って、広く知られるテキスト比較等の技術は、ごく単純な構成のデータに従い表示されるWebページの内容の比較は行うことができても、多くのWebページの内容の比較において良好な結果をもたらすことができない。
【0005】
本発明は、上記の事情に鑑み、Webページの内容の比較を可能とする技術の提供を目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明は、複数のWebページの各々に関し、Webページ記述用言語で記述されたデータに従いレンダリングエンジンにより描画されたWebページの表示内容を表す表示データと、当該Webページの描画において前記レンダリングエンジンが決定した当該Webページに含まれる複数の構成要素の各々のレイアウトを示すレイアウトデータとを取得するデータ取得手段と、前記複数のWebページの各々に関し、当該Webページの表示領域を、当該Webページに関する前記レイアウトデータが示すレイアウトに基づき予め定められた規則に従い特定される点を通る縦線および横線で分割する分割手段と、前記複数のWebページの各々に関し前記分割手段による分割により得られた複数の分割表示領域の各々を、前記複数のWebページの間で対応付ける対応付手段と、前記対応付手段により対応付けられた複数の分割表示領域におけるWebページの表示内容を比較し、当該比較の結果を示す比較結果データを生成する比較手段とを備えるWebページ比較装置を提供する。
【0007】
上記のWebページ比較装置において、前記データ取得手段は、前記複数のWebページの各々に関し当該Webページに含まれる複数の構成要素の各々に付された属性を示す属性データを取得し、前記データ取得手段が取得したレイアウトデータのうち、特定の属性を示す属性データが付された構成要素に関するレイアウトデータを抽出する抽出手段を備え、前記分割手段は、前記抽出手段により抽出されたレイアウトデータを用いて前記分割を行う、という構成が採用されてもよい。
【0008】
上記のWebページ比較装置において、前記抽出手段は、前記データ取得手段が取得した表示データが表すWebページの面積に応じて定まる数の属性データを予め定められた規則に従い抽出し、当該抽出した属性データが付された構成要素に関するレイアウトデータを抽出する、という構成が採用されてもよい。
【0009】
上記のWebページ比較装置において、前記比較手段は、前記比較において、比較対象の分割表示領域に表示される画素または画素群を比較する、という構成が採用されてもよい。
【0010】
上記のWebページ比較装置において、前記比較手段は、前記比較において、比較対象の分割表示領域に表示される文字を認識し、認識した文字を比較する、という構成が採用されてもよい。
【0011】
上記のWebページ比較装置において、前記比較手段は、比較対象のWebページのうちの一のWebページの表示データを、前記比較において表示内容が一致する分割表示領域と表示内容が一致しない分割表示領域とで異なる表示態様となるように変更したデータを前記比較結果データとして生成する、という構成が採用されてもよい。
【0012】
上記のWebページ比較装置において、前記比較手段は、比較対象のWebページのうちの一のWebページの表示データを、当該Webページの表示領域を構成する複数の分割表示領域の各々において、前記比較において一致する部分と一致しない部分とで異なる表示態様となるように変更したデータを前記比較結果データとして生成する、という構成が採用されてもよい。
【0013】
また、本発明は、データ処理装置が、複数のWebページの各々に関し、Webページ記述用言語で記述されたデータに従いレンダリングエンジンにより描画されたWebページの表示内容を表す表示データと、当該Webページの描画において前記レンダリングエンジンが決定した当該Webページに含まれる複数の構成要素の各々のレイアウトを示すレイアウトデータとを取得するステップと、前記データ処理装置が、前記複数のWebページの各々に関し、当該Webページの表示領域を、当該Webページに関する前記レイアウトデータが示すレイアウトに基づき予め定められた規則に従い特定される点を通る縦線および横線で分割するステップと、前記データ処理装置が、前記複数のWebページの各々に関し前記分割するステップにおける分割により得られた複数の分割表示領域の各々を、前記複数のWebページの間で対応付けるステップと、前記データ処理装置が、前記対応付けるステップにおいて対応付けた複数の分割表示領域におけるWebページの表示内容を比較し、当該比較の結果を示す比較結果データを生成するステップとを備えるWebページ比較方法を提供する。
【0014】
また、本発明は、コンピュータに、複数のWebページの各々に関し、Webページ記述用言語で記述されたデータに従いレンダリングエンジンにより描画されたWebページの表示内容を表す表示データと、当該Webページの描画において前記レンダリングエンジンが決定した当該Webページに含まれる複数の構成要素の各々のレイアウトを示すレイアウトデータとを取得する処理と、前記複数のWebページの各々に関し、当該Webページの表示領域を、当該Webページに関する前記レイアウトデータが示すレイアウトに基づき予め定められた規則に従い特定される点を通る縦線および横線で分割する処理と、前記複数のWebページの各々に関し前記分割により得られた複数の分割表示領域の各々を、前記複数のWebページの間で対応付ける処理と、前記対応付ける処理において対応付けた複数の分割表示領域におけるWebページの表示内容を比較し、当該比較の結果を示す比較結果データを生成する処理とを実行させるためのプログラムを前記コンピュータに読み取り可能に持続的に記憶する記録媒体を提供する。
【0015】
また、本発明は、コンピュータに、複数のWebページの各々に関し、Webページ記述用言語で記述されたデータに従いレンダリングエンジンにより描画されたWebページの表示内容を表す表示データと、当該Webページの描画において前記レンダリングエンジンが決定した当該Webページに含まれる複数の構成要素の各々のレイアウトを示すレイアウトデータとを取得する処理と、前記複数のWebページの各々に関し、当該Webページの表示領域を、当該Webページに関する前記レイアウトデータが示すレイアウトに基づき予め定められた規則に従い特定される点を通る縦線および横線で分割する処理と、前記複数のWebページの各々に関し前記分割により得られた複数の分割表示領域の各々を、前記複数のWebページの間で対応付ける処理と、前記対応付ける処理において対応付けた複数の分割表示領域におけるWebページの表示内容を比較し、当該比較の結果を示す比較結果データを生成する処理とを実行させるためのプログラムを提供する。
【発明の効果】
【0016】
本発明によれば、実際に表示されるWebページの内容が比較されるため、当該Webページの表示を指示するデータが複雑であっても良好な比較結果が得られる。その際、Webページを構成する構成要素のレイアウトに従い分割された分割表示領域ごとにWebページの内容の比較が行われるため、例えば、或る構成要素の表示領域が拡張または縮小したような場合であっても、当該拡張または縮小によりレイアウトが変更される他の構成要素に関する比較結果が影響を受けることがない。
【発明を実施するための形態】
【0018】
[実施形態]
以下に本発明の一実施形態にかかるWebページ比較システム1を説明する。
図1はWebページ比較システム1のハードウェア構成を示した図である。Webページ比較システム1はコンピュータ10と、コンピュータ10に接続された表示装置12と、コンピュータ10に接続された操作装置13を備える。
【0019】
コンピュータ10は、メモリ101と、メモリ101に記憶されたプログラムに従い各種データ処理を行うプロセッサ102と、プロセッサ102の制御に従い外部の装置との間でネットワークを介して各種データの送受信を行うインタフェースである通信IF103と、表示装置12に対し画像を表すデータを出力する画像出力IF104と、操作装置13から操作信号の入力を受けるインタフェースである操作信号入力IF105を備える。
【0020】
表示装置12は、画像出力IF104から出力されるデータが表す画像を表示する。操作装置13はキーボード、マウス、タッチパッド等のユーザの操作を受け付けて、当該操作の内容を示す操作信号を出力する装置である。
【0021】
なお、コンピュータ10、表示装置12、操作装置13はそれらの2以上が統合された一つの装置として構成されてもよい。
【0022】
コンピュータ10は、プロセッサ102がメモリ101に記憶されている本発明にかかるプログラムに従うデータ処理を行うことにより、Webページの比較機能を備えるWebブラウザ11として機能する。
図2は、Webブラウザ11の機能構成を示した図である。すなわち、プロセッサ102がプログラムに従うデータ処理を行うことにより、コンピュータ10は
図2に示す構成部を備えるWebブラウザ11として動作する。
【0023】
以下にWebブラウザ11の機能構成を説明する。Webブラウザ11は機能構成部として、レンダリングエンジン111、記憶装置112、Webページ比較装置113を備える。
【0024】
レンダリングエンジン111は、ユーザにより指定されたWebページの描画を行い、描画したWebページの表示を表示装置12に対し指示する。レンダリングエンジン111が行う処理は既知のものであるため、以下にその概要のみを説明し、詳細な説明は省略する。
【0025】
レンダリングエンジン111は、例えばユーザにより指定されたURLに基づきインターネット9から取得したデータ(HTML、JavaScript(登録商標)等で記述されたデータ)を解析し、Webページの構成要素をノードとするDOM(Document Object Model)ツリーを生成する。続いて、レンダリングエンジン111はCSSで記述されたデータやHTMLで記述されたデータに含まれるスタイルデータ等を解析し、スタイルツリーを生成する。続いて、レンダリングエンジン111はスタイルツリーに対し、HTMLで記述されたデータに含まれる外観を指示するデータ等を反映させて、レンダーツリーを生成する。レンダーツリーのノードには、Webページの構成要素の色、サイズ等の外観に関する属性が付されている。
【0026】
続いて、レンダリングエンジン111はレンダーツリーのノードに、画面に表示される正確な座標を割り当てるレイアウト処理を行う。続いて、レンダリングエンジン111はレイアウト処理の行われたレンダーツリーに従い、Webページを描画する。レンダリングエンジン111は、描画したWebページの表示を表示装置12に指示する。以上が、レンダリングエンジン111が行う処理の概要である。
【0027】
記憶装置112は各種データを記憶する。記憶装置112が記憶するデータには、レンダリングエンジン111がWebページの描画を行うためにインターネット9から取得した各種データ(Webページ記述用言語で記述されたデータ、それらのデータにより参照される画像データ等)、レンダリングエンジン111がWebページの描画を行ったときに生成した各種データ、Webページ比較装置113が行ったWebページの比較結果を示す比較結果データ等が含まれる。
【0028】
記憶装置112が記憶する、レンダリングエンジン111がWebページの描画を行ったときに生成した各種データのうち、描画されたWebページの表示内容を表すデータを表示データと呼ぶ。また、Webページの構成要素の各々のレイアウトを示すデータをレイアウトデータと呼ぶ。また、これらの構成要素の各々に付された属性を示すデータを属性データと呼ぶ。
【0029】
表示データは、レンダリングエンジン111が表示装置12に表示を指示する際に表示装置12に対し出力されるデータと同じ内容のデータである。ただし、表示装置12は表示領域のサイズよりも大きいWebページを一度に表示することはできない。従って、レンダリングエンジン111が表示装置12に出力するデータはWebページ全体のうち、その時点で表示される部分のみを表すデータである。一方、記憶装置112に記憶される表示データはWebページ全体が表示された場合の表示内容を表す。
【0030】
レイアウトデータは、レイアウト処理が完了した後のレンダーツリーの各ノードに付されている位置およびサイズを示すデータである。また、属性データは、レンダーツリーの各ノードに付されている各種属性(位置およびサイズを除く)を示すデータである。属性データの種類には様々なものがあるが、Webページ比較装置113により利用される属性データは、Webページの中において構成要素を識別可能な属性データであることが望ましい。そのような属性データとしては、例えば、id属性、class属性、ヘディングタグ(<h1>タグ、<h2>タグ等)等がある。
【0031】
Webページ比較装置113はユーザにより指定された複数のWebページを比較し、比較結果の表示を表示装置12に指示する。Webページ比較装置113は、データ取得手段1131、抽出手段1132、分割手段1133、対応付手段1134、比較手段1135を備える。Webページ比較装置113が備えるこれらの構成部の役割は、以下に説明するWebページ比較装置113の動作の説明において合わせて説明する。
【0032】
図3はWebページ比較装置113が行う処理のフローを示した図である。
図3に示す処理が開始される前に、記憶装置112には複数のWebページの各々に関する表示データ、レイアウトデータ、属性データが記憶されているものとする。これらの複数のWebページには、例えば、同じURLで識別される異なるバージョンのWebページが含まれる。以下、同じURLで識別される異なるバーションの2つのWebページが比較対象のWebぺージとして指定されたものとし、それらのWebページの一方を更新前Webページ、他方を更新後Webページと呼ぶ。
【0033】
図4はユーザが比較対象として指定する2つのWebページのイメージ図である。
図4において左側に示されるWebページが更新前Webページであり、右側に示されるWebページが更新後Webページである。これらのWebページは表示データにより表されれる画像であり、実際には文字や画像等が含まれているが、
図4においてはそれらの表示が省略されている(
図5〜
図9においても同様)。なお、更新前Webページの面積は単位面積(表示装置12の表示領域の面積)の0.7倍、更新後Webページの面積は単位面積の0.725倍であるものとする。
【0034】
図4において各Webページに含まれる複数の矩形は各々、構成要素を示している。各構成要素には、構成要素の左上の座標、構成要素の幅(水平方向の長さ)、構成要素の高さ(垂直方向の長さ)を示すレイアウトデータが付されている。また、各構成要素には、id属性、class属性、各種タグ内のテキスト等の属性データが付されているが、
図4においてはそれらの属性データのうち、抽出手段1132がレイアウトデータの抽出(後述)において参照する属性データのみが示されている。
【0035】
ユーザが操作装置13に対し操作を行い、更新前Webページおよび更新後Webページを指定すると、データ取得手段1131は、ユーザにより指定された2つのWebページに関する表示データ、レイアウトデータ、属性データを記憶装置112から読み出し取得する(
図3、ステップS101)。
【0036】
続いて、抽出手段1132は、2つのWebページの各々に関し、データ取得手段1131が取得した属性データの中から、データ取得手段1131が取得した表示データが表すWebページの面積に応じて定まる数の属性データを予め定められた規則に従い抽出する(ステップS102)。その際、抽出手段1132は、2つのWebページに共通して含まれ、かつ、各Webページにおいてユニークな属性データを抽出する。
【0037】
抽出手段1132が抽出する属性データの数は、通常、Webページの面積が大きい程、大きい数となるように予め定められた規則に従い定まる数である。以下の説明において、抽出手段1132は、比較対象のWebページのうち面積が一番小さいWebページに関し、表示装置12の表示領域の面積(以下、単位面積という)当たり5以上10以下の範囲内の数の属性データを抽出するものとする。この数の範囲は、後述する分割手段1133による表示領域の分割において、生成される分割表示領域の平均的な面積が比較の単位として大き過ぎず、また、比較の数が過度に多くならないような、適度な数として予め設定されている範囲である。
【0038】
図4に例示のWebページが比較対象である場合、面積が小さい方の更新前Webページの面積が単位面積の0.7倍であるため、抽出手段1132はステップS102において、3.5以上7以下の数の属性データを抽出する。
【0039】
抽出手段1132が属性データを抽出するときに従う予め定められた規則としては、例えば、Webページの中で構成要素を識別可能なユニークな属性データの中から必要な数の属性データをランダムに抽出する、という規則や、予め定められた属性の種類の優先順位に従いユニークな属性を示す属性データを必要な数に達するまで順に選択してゆく、という規則など、様々な規則が採用され得る。
【0040】
以下の説明において、抽出手段1132は、以下に示す属性の種類の優先順位に従いユニークな属性を示す属性データを順に選択するものとする。
【0041】
1位:id属性
2位:class属性
3位:<h1>タグ
4位:<h2>タグ
【0042】
図5は、ステップS102において抽出された構成要素に斜線が付された、更新前Webページと更新後Webページのイメージ図である。ステップS102において、抽出手段1132はまず、属性データのうち優先順位1位のid属性の属性データを選択する。
図5の例では、抽出手段1132はid=“abc”を選択する。この時点で、選択された属性データは1個であり、目標である3.5以上7以下の範囲に達していない。
【0043】
従って、抽出手段1132は構成要素に付されている属性データのうち、優先順位2位のclass属性の属性データのうちユニークな属性を示すclass=“main”とclass=“sub”を選択する。なお、class=“extra”は各Webページ内に2つ含まれユニークではないため、選択されない。この時点で、選択された属性データの合計は3個であり、目標である3.5以上7以下の範囲に達していない。
【0044】
従って、抽出手段1132は構成要素に付されている属性データのうち、優先順位3位の<h1>タグの属性データのうちユニークな属性を示す<h1>“xyz”</h1>を選択する。この時点で、選択された属性データの合計は4個であり、目標である3.5以上7以下の範囲に達しているが、まだ上限には達していない。
【0045】
従って、抽出手段1132は構成要素に付されている属性データのうち、優先順位4位の<h2>タグの属性データのうちユニークな属性を示す<h2>“pqr”</h2>を選択する。この時点で、選択された属性データの合計は5個であり、目標である3.5以上7以下の範囲に達しているが、まだ上限には達していない。ただし、この場合、更新前Webページ(または更新後Webページ)にはまだ未参照の構成要素がないため、抽出手段1132はステップS102の処理を終了する。その結果、
図5において斜線の付された構成要素が抽出されたことになる。
【0046】
仮に、上記の例で優先順位3位の<h1>タグの属性データの選択を終えた後、更新前Webページおよび更新後Webページに未参照の構成要素がまだ10個あり、それらに優先順位4位の<h2>タグの属性データ(2つのWebページに共通かつ各Webページでユニークなもの)が付されていた場合、抽出手段1132は、それらの属性データを全て選択すると、選択された属性データの合計が14個となり、目標である3.5以上7以下の範囲を超えてしまう。この場合、抽出手段1132はこれらの属性データに関しては選択しない。もしくは、抽出手段1132は、これらの10個の属性データの中から、例えばランダムに、3個を選択し、選択された属性データの数の合計を目標の上限である7個とする。
【0047】
上記のように属性データの抽出を行うと(
図3、ステップS102)、抽出手段1132は抽出した属性データが付された構成要素に関するレイアウトデータを抽出する(ステップS103)。
【0048】
続いて、分割手段1133は、更新前Webページと更新後Webページの各々に関し、ステップS103で抽出手段1132が抽出したレイアウトデータが示すレイアウトに基づき予め定められた規則に従い特定される点を通る縦線で、それらの表示領域を分割する(ステップS104)。
【0049】
本実施形態において、分割手段1133が分割に用いる縦線が通る点は、レイアウトデータが示す表示領域が水平方向において他の複数の構成要素の表示領域に跨がることのない構成要素の左上の点および右下の点であるものとする。以下、レイアウトデータが示す表示領域が水平方向において他の複数の構成要素の表示領域に跨がる構成要素を横断構成要素という。
【0050】
図6は更新前Webページの表示領域が、ステップS104の処理において分割される様子を示した図である。なお、ステップS104の処理において、更新後Webページの表示領域も更新前Webページと同様に分割される。
【0051】
分割手段1133は、ステップS104の処理において、まず、ステップS103で抽出された5つのレイアウトデータのうち、<h2>”pqr”</h2>の付された構成要素のレイアウトデータを除外する。続いて、分割手段1133は残る4つのレイアウトデータが示す表示領域の左上および右下の点の座標として以下を特定する。
【0052】
座標(2,1)
座標(5,5)
座標(2,6)
座標(5,16)
座標(7,1)
座標(18,8)
座標(7,10)
座標(18,19)
【0053】
続いて、分割手段1133は上記の座標で示される点を通る縦線として、x座標が2である縦線、x座標が5である縦線、x座標が7である縦線、x座標が18である縦線、の計4本の縦線でWebページの表示領域を分割する。
図6の右側は、これらの縦線により分割された後の更新前Webページの分割表示領域を示している。
【0054】
続いて、分割手段1133は、更新前Webページと更新後Webページの各々に関し、ステップS104で縦線により分割したWebページの表示領域を、抽出手段1132が抽出したレイアウトデータが示すレイアウトに基づき予め定められた規則に従い特定される点を通る横線でさらに分割する(
図3、ステップS105)。
【0055】
本実施形態において、分割手段1133が分割に用いる横線が通る点は、ステップS103において抽出されたレイアウトデータが示す構成要素の左上の点および右下の点であるものとする。
【0056】
図7は更新前Webページの表示領域が、ステップS105の処理において分割される様子を示した図である。なお、ステップS105の処理において、更新後Webページの表示領域も更新前Webページと同様に分割される。
【0057】
分割手段1133は、ステップS105の処理において、まず、ステップS103において抽出されたレイアウトデータが示す構成要素のうち横断構成要素でない構成要素の表示領域が含まれる分割表示領域(ステップS104において生成された分割表示領域)を、それらの構成要素の左上および右下の点を通る横線で分割する。
【0058】
例えば、ステップS104において生成された分割表示領域のうち左から2つめの分割表示領域には、id=“abd”が付された構成要素とclass=“sub”が付された構成要素の表示領域が含まれ、それらの左上および右下の点の座標は以下のとおりである。
【0059】
座標(2,1)
座標(5,5)
座標(2,6)
座標(5,16)
【0060】
従って、分割手段1133はその分割表示領域を、y座標が1である横線、y座標が5である横線、y座標が6である横線、y座標が16である横線、の計4本の横線で分割する。分割手段1133は、左から4つめの分割表示領域に関しても、左から2つめの分割表示領域に関して行う分割と同様の分割を行う。
【0061】
続いて、分割手段1133は横断構成要素のレイアウトデータが示す表示領域の左上および右下の点を通る横線で、全ての分割表示領域(ステップS104において生成された分割表示領域)を分割する。この場合、y座標が20である横線、y座標が22である横線、の計2本の横線で分割表示領域の分割が行われる。
図7の右側は、これらの縦線による分割が完了した後の更新前Webページの分割表示領域を示している。
【0062】
分割手段1133によるWebページの表示領域の分割が完了すると(
図3、ステップS105)、対応付手段1134は、更新前Webページと更新後Webページの各々に関し分割手段1133による分割により得られた複数の分割表示領域の各々を、更新前Webページと更新後Webページの間で対応付ける(ステップS106)。
【0063】
図8はステップS106において対応付手段1134により分割表示領域の対応付けが行われる様子を示した図である。
図8の左側が更新前Webページ、右側が更新後Webページである。また、
図8において分割表示領域の各々に付されている番号は、各Webページにおいて、縦方向を優先に左上から右下へと順に分割表示領域に振った番号である。これらの番号が一致する分割表示領域が、2つのWebページの間で互いに対応付けられた分割表示領域である。
【0064】
対応付手段1134による分割表示領域の対応付けが完了すると(
図3、ステップS106)、比較手段1135は対応付手段1134により対応付けられた2つの分割表示領域におけるWebページの表示内容を比較し、当該比較の結果を示す比較結果データを生成する(ステップS107)。
【0065】
ステップS107の比較において、比較手段1135は比較対象の分割表示領域に表示されるWebページの画素を比較する。より具体的には、比較手段1135は、例えば比較対象の分割表示領域の左上の点を基準点とし、基準点からの相対的な位置が等しい画素を更新前Webページと更新後Webページの各々から選択し、選択したそれらの画素の値を比較する。比較手段1135はこの画素の比較の処理を、更新前Webページおよび更新後Webページのいずれか一方の分割表示領域内の全ての画素に関し完了するまで繰り返す。さらに、比較手段1135は全ての分割表示領域に関し、それらの比較の処理を繰り返す。
【0066】
比較手段1135は、ステップS107における比較の結果を示す比較結果データを生成する(ステップS108)。比較手段1135は更新前Webページおよび更新後Webページの表示データを、表示内容が一致する分割表示領域と表示内容が一致しない分割表示領域とで異なる表示態様となるように変更したデータを比較結果データとして生成する。続いて、比較手段1135は生成した比較結果データが示す比較結果の表示を表示装置12に指示する(ステップS109)。
【0067】
図9は表示装置12がステップS109における比較手段1135からの指示に従い表示する画面を示した図である。
図9において、斜線の付された部分は更新前Webページと更新後Webページとで相違している部分である。このように、比較手段1135が生成する比較結果データは、複数の分割表示領域の各々において、比較において一致する部分と一致しない部分とで異なる表示態様となるように表示データを変更したデータである。
【0068】
以上のように、Webページ比較システム1によれば、ユーザは表示内容を比較したい複数のWebページを指定することにより、それらのWebページのうち表示内容が異なる部分を容易に知ることができる。
【0069】
[変形例]
上述した実施形態は、本発明の技術的思想の範囲内で様々に変形することができる。以下にそれらの変形の例を示す。なお、以下の2以上の変形例が組み合わされてもよい。
【0070】
(1)上述した実施形態において、レンダリングエンジン111とWebページ比較装置113がWebブラウザ11に統合されている。これに代えて、レンダリングエンジン111を備えるWebブラウザ11と、Webページ比較装置113が異なる装置として構成されてもよい。
【0071】
(2)上述した実施形態において、比較手段1135は互いに対応付けられた分割表示領域における比較対象のWebページの表示内容の比較を画素の比較により行う。当該画素の比較において、比較の単位は個々の画素でなくてもよい。例えば、縦16画素、横16画素の画素群、のように、複数の画素の集まりである画素群の単位で比較が行われてもよい。その場合、画素群のうち1つでも異なる画素があれば比較の結果を「相違する」と判断してもよい。また、例えば画素群のうち所定数以上の画素が一致すれば比較の結果を「一致する」と判断してもよい。
【0072】
(3)上述した実施形態において、比較手段1135は互いに対応付けられた分割表示領域における比較対象のWebページの表示内容の比較を画素の比較により行う。これに代えて、もしくは加えて、比較手段1135が比較対象の分割表示領域に表示される文字を認識し、認識した文字を比較する構成が採用されてもよい。
【0073】
(4)上述した実施形態において、比較手段1135が生成する比較結果データは、分割表示領域の各々において、比較において一致する部分と一致しない部分とで異なる表示態様でWebページを表すデータである。これに代えて、比較手段1135が、分割表示領域の単位で一致する部分と一致しない部分とを異なる表示態様で表示する比較結果データを生成してもよい。
【0074】
(5)上述した実施形態において、分割手段1133はWebページの表示領域を縦線で分割した後、横線で分割する。これらの順序は逆でもよい。
【0075】
(6)上述した実施形態において、分割手段1133が分割に用いる縦線および横線は、レイアウトデータが示す構成要素の左上および右下の点を通る。これに代えて、例えば、構成要素の左下および右上の点を通る縦線または横線で分割が行われてもよい。また、構成要素の左上の点より所定の距離だけ左に位置する点および右下の点より所定の距離だけ右に位置する点を通る縦線や、構成要素の左上の点より所定の距離だけ上に位置する点および右下の点より所定の距離だけ下に位置する点を通る横線で分割が行われてもよい。
【0076】
(7)上述した実施形態において、Webページ比較装置113が2つのWebページの比較を行う場合を例にWebページ比較装置113の動作が説明された。Webページ比較装置113が比較するWebページの数は2つに限られず、3以上のWebページの比較が行われてもよい。
【0077】
(8)上述した実施形態において、抽出手段1132が抽出する属性データの数、すなわち、Webページの表示領域の分割の基準とする構成要素の数は、Webページの面積に応じた範囲内であるものとしたが、抽出手段1132が抽出する属性データの数はWebページの面積の大小にかかわらず所定の数の範囲内としてもよい。また、上述した実施形態において、抽出手段1132が抽出する属性データの数には上限を設けるものとしたが、その数に上限が設けられなくてもよい。
【0078】
(9)上述した実施形態において、抽出手段1132は抽出した属性データが付された構成要素の大きさや位置を考慮することなく、それらを全てWebページの表示領域の分割の基準とする構成要素として用いる。これに代えて、抽出手段1132が、Webページの表示領域の分割の基準とする構成要素を、構成要素のサイズおよび位置の少なくとも一方に基づき、選択してもよい。例えば、抽出手段1132は、面積が予め定められた上限の閾値より大きい構成要素や、面積が予め定められた下限の閾値より小さい構成要素を、Webページの表示領域の分割の基準とする構成要素から除外してもよい。
【0079】
(10)上述した実施形態において、Webページ比較装置113はコンピュータ10がプログラムに従う処理を行うことにより実現されるものとした。これに代えて、Webページ比較装置113が、例えば
図2に示される構成部を実現するハードウェアを備える、いわゆる専用装置として構成されてもよい。
【0080】
(11)上述した実施形態において、コンピュータ10にWebページ比較装置113を実現させるためのプログラム、すなわち、コンピュータ10に
図3に示されるフローに従う処理を行わせるためのプログラムが、コンピュータに読み取り可能に持続的に記憶する記録媒体に記憶され、頒布されてもよい。この場合、コンピュータ10は当該記録媒体からプログラムを読み取り、読み取ったプログラムに従う処理を行うことにより、上述したWebページ比較装置113として機能する。また、コンピュータ10にWebページ比較装置113を実現させるためのプログラムが、ネットワークを介して他の装置からコンピュータ10に送信され、コンピュータ10において用いられてもよい。
本発明は、Webページの内容の比較を可能とする装置および方法を提供する。Webページ比較装置113のデータ取得手段1131は、レンダリングエンジン111により描画された複数のWebページの各々の表示内容を表す表示データと、それらのWebページに含まれる構成要素の各々のレイアウトを示すレイアウトデータと、それらの構成要素の属性を示す属性データを取得する。抽出手段1132は、所定の種類の属性データが付された構成要素に関するレイアウトデータを抽出し、分割手段1133は抽出されたレイアウトデータに基づき、各々のWebページの表示領域を縦方向および横方向に分割し、分割表示領域を生成する。対応付手段1134は分割表示領域をWebページ間で対応付け、比較手段1135は対応付けられた分割表示領域におけるWebページの表示内容を比較する。比較手段1135による比較の結果は表示装置12により表示される。