[論文レビュー] Archiving Deferred Representations Using a Two-Tiered Crawling Approach
本論文は、クライントサイドJavaScriptに依存するレンダリングが必要なリソース(延期型表現)を、PhantomJSを用いて完全にレンダリングするための分類器を介してルーティングする二段階のウェブクローリング戦略を提案する。非延期型リソースは、より高速なHeritrixでクローリングされる。このアプローチにより、純粋なPhantomJSクローリングに比べて5.2倍の高速化が達成され、Heritrix単独でのクローリングに比べてクロール範囲が1.8倍に拡大され、パフォーマンスを損なわずにアーカイブの完全性が著しく向上する。
Web resources are increasingly interactive, resulting in resources that are increasingly difficult to archive. The archival difficulty is based on the use of client-side technologies (e.g., JavaScript) to change the client-side state of a representation after it has initially loaded. We refer to these representations as deferred representations. We can better archive deferred representations using tools like headless browsing clients. We use 10,000 seed Universal Resource Identifiers (URIs) to explore the impact of including PhantomJS -- a headless browsing tool -- into the crawling process by comparing the performance of wget (the baseline), PhantomJS, and Heritrix. Heritrix crawled 2.065 URIs per second, 12.15 times faster than PhantomJS and 2.4 times faster than wget. However, PhantomJS discovered 531,484 URIs, 1.75 times more than Heritrix and 4.11 times more than wget. To take advantage of the performance benefits of Heritrix and the URI discovery of PhantomJS, we recommend a tiered crawling strategy in which a classifier predicts whether a representation will be deferred or not, and only resources with deferred representations are crawled with PhantomJS while resources without deferred representations are crawled with Heritrix. We show that this approach is 5.2 times faster than using only PhantomJS and creates a frontier (set of URIs to be crawled) 1.8 times larger than using only Heritrix.
研究の動機と目的
- クライントサイドJavaScriptに依存して完全にレンダリングされる必要がある延期型表現をアーカイブする課題に対処すること。
- 従来のクローラー(Heritrix、wget)とJavaScript実行型クローラー(PhantomJS)の間のパフォーマンスのトレードオフ(クローリング速度と範囲の大きさ)を測定すること。
- パフォーマンスのオーバーヘッドを最小限に抑えつつ、延期型表現内の埋め込みリソースの発見を最大化するための段階的クローリング戦略を開発・検証すること。
- JavaScript依存リソースに対してヘッドレスブラウジングを的確に適用することで、完全なメメント作成を保証し、アーカイブ品質を向上させること。
提案手法
- DOM特徴に基づいて延期型表現を含むリソースを予測する分類器を訓練し、79%の正確性を達成した。
- 二段階アプローチにより、延期型と分類されたリソースはPhantomJSにルーティングされ、完全なクライントサイドレンダリングとURI発見が行われる。非延期型リソースは、高速性を重視してHeritrixでクローリングされる。
- クローリング性能は、10,000個のシードURIからなるデータセットを用いて、クロール時間、範囲の大きさ、埋め込みリソースの発見数を測定することで評価された。
- PhantomJSはJavaScriptの実行と、従来のクローラーが見逃す可能性のある動的に読み込まれるURIの発見に使用された。
- クロール速度と範囲の大きさのトレードオフを明確化するため、wget、Heritrix、PhantomJSの3つのクローラーを比較した。
- 実データを用いたシミュレーテッド二段階クローリングにより、単一クローラー戦略に比べて性能と完全性が向上していることが検証された。
実験結果
リサーチクエスチョン
- RQ1クローリングパイプラインにPhantomJSを組み込むことで、Heritrixやwgetと比較して範囲の大きさとクローリング速度にどのような影響を与えるか?
- RQ2分類器は、延期型表現を含むリソースを正確に予測できるか? これにより、PhantomJSの選択的使用が可能になるか?
- RQ3すべてのリソースにPhantomJSを使用するのではなく、延期型リソースに限定して使用した場合のパフォーマンスへの影響はいかほどか?
- RQ4Heritrix単独で使用する場合と比較して、二段階アプローチでPhantomJSとHeritrixを組み合わせた場合、範囲の大きさはどの程度大きくなるか?
- RQ5PhantomJSを使用する際、セッション固有のパrameterを含む重複URIが、範囲にどの程度膨張をもたらすか?
主な発見
- PhantomJSは531,484個のURIを発見した。これはHeritrixの1.75倍、wgetの4.11倍に相当し、JavaScriptの実行と動的ロードコンテンツの発見能力のおかげである。
- Heritrixのクローリング速度は1秒あたり2.065 URIで、PhantomJSの12.15倍、wgetの2.4倍高速であり、最も高速なクローラーであることが確認された。
- 延期型表現にのみPhantomJSを使用し、非延期型リソースにはHeritrixを使用する二段階アプローチにより、純粋なPhantomJSクローリングに比べて5.2倍の高速化が達成された。
- 二段階アプローチにおける範囲の大きさは、Heritrix単独使用時と比較して1.8倍に拡大され、URI発見の向上が顕著に示された。
- PhantomJSは1 URIあたり平均で19.70個の埋め込みリソースをHeritrixよりも多く発見した。これは、動的コンテンツの捕捉能力に優れていることを示している。
- PhantomJSが発見したURIの53%が、セッション固有のパrameterを除去した後も重複していた。これは、クローリングパイプライン内で重複除去処理の必要性を示している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。