スクリーンスクレイピングとは
スクリーンスクレイピングは、プログラムが表示されたデータを人間が読みやすい形から抽出する技術です。この技術は、通常の
データ転送プロトコルとは異なり、人間にとって理解しやすい形式の出力から情報を獲得します。
概要
一般的に、プログラム間でデータを交換する場合、情報は厳密に構造化された特定の
フォーマットに従っています。このような
フォーマットは、自動的に処理できるようにデザインされており、曖昧さを排除するために整理されています。そのため、この状況下での通信は通常、視覚的に人間が理解するには適していないものです。したがって、スクリーンスクレイピングを行う場合、その出力が
エンドユーザーを対象としているため、分析のために整理されたり、構造化されたりしていないことが重要です。
この技術では、画像やバイナリデータ、冗長なラベル、不要な情報などを取り除くプロセスも含まれます。
スクリーンスクレイピングが使われる場面
スクリーンスクレイピングは、以下のような状況で主に利用されます。
1.
レガシーシステム:旧式のシステムにアクセスする必要があり、現行の
ハードウェアと互換性のある方法が存在しない場合。
2.
サードパーティー製システム:便利なAPIが提供されていない場合、データを抽出するためにスクレイピングが行われることが多いです。
- ただし、管理者がスクレイピングを望まない場合もあるため、注意が必要です。
このように、通常は他の手段が利用できない場合に、スクリーンスクレイピングは「最後の手段」として使用されます。しかし、この方法はデータ出力が人間を想定したものであるため、頻繁に変更される可能性があり、プログラムがその変化に適応するのは難しいことがあります。
歴史的背景
当初、スクリーンスクレイピングは
ターミナルコンピュータの画面からデータを読み取る作業を指していました。具体的には、
ターミナルのメモリを読み込むことや、
ターミナルの出力ポートを別のシステムに接続してデータを取得することが行われていました。さらに、データの双方向交換もこの技術に含まれています。
たとえば、1960年代には、コンピュータの
ユーザインタフェースがテキストベースの
ダム端末に限られていた時代、スクリーンスクレイピングの需要が増加しました。このような状況下では、情報を抽出し現代のシステムに接続するために、特定のスクリプトやプロセスが必要となりました。
1980年代には、財務データの表示形式が洗練され、よりユーザーフレンドリーなものとなりました。このため、データ計算に使う数値情報を容易に取得するためのアプリケーションが開発されました。特に
イギリスでは、このプロセスを「ページシュレッディング」と呼ぶことがありました。
現代の技術
最近では、スクリーンスクレイピングの技術が進化しており、さまざまなデータ取得手法が開発されています。たとえば、画面からビットマップデータをキャプチャし、OCR(
光学文字認識)を利用して情報を処理したり、GUIアプリケーションから
オブジェクトを参照して操作したりすることが可能です。
ウェブスクレイピングとレポートマイニング
ウェブスクレイピングは、主にHTMLやXHTMLで構築されたWebページからデータを取得するための技術です。この技術もまた、人間に向けてデザインされたコンテンツから自動的にデータを抽出することが目的とされています。
また、レポートマイニングは、HTML、PDF、テキストなどのファイル形式から情報を引き出すための手法です。これによって、特別なAPI
プログラミングなしに、さまざまなデータを迅速かつ簡単に得ることができます。
スクリーンスクレイピングは、技術的な制約のある状況で非常に有用ですが、その運用には十分な注意とセキュリティの確保が求められます。