スクリーンスクレイピング
通常、プログラム間でのデータ転送にはコンピュータによる自動処理に適したデータ構造が用いられる。このようなデータ交換フォーマットやプロトコルは厳格に構造化、整形化されており、容易に解析できるようになっていて、曖昧さが最小になるように設計されている。この場合、通信内容は人間に読みやすい形でないことがほとんどである。
つまり、スクリーンスクレイピングにおいて重要なのは、スクレイピング対象の出力結果は他のプログラムへの入力ではなく、エンドユーザーへの表示を想定しているであろうこと、そして整形化も、解析のために構造化もされていないであろうということである。スクリーンスクレピングには、画像やマルチメディア等のバイナリデータ、画面フォーマット、冗長なラベルや注釈、その他自動処理に必要ない・有害な情報を取り除くことも含まれる。
スクリーンスクレイピングは主に次のようなケースで行われる。
対象がレガシーシステムで、現在のハードウェアと互換性のあるメカニズムが他にない
対象がサードパーティー製システムで、より利便性の高いAPIが提供されていない
2番目のケースでは、システムの負荷増加、広告収入の減少、コンテンツをコントロール下に置けない等の理由で、システムの管理者(サードパーティ)がスクレイピングを望まない可能性がある。
スクリーンスクレイピングは一般的に他に利用可能なメカニズムがない場合に用いられる、その場しのぎで、エレガントでない「最後の手段」と考えられている。多大なプログラミングと処理のオーバーヘッドに加え、出力が人間を対象としているために構造が頻繁に変更される。人間であれば変更に対して簡単に対処できるが、コンピュータプログラムでは大抵の場合クラッシュしたり、誤った結果を表示してしまう。