スクリーンスクレイピングとは何ですか? 方法、用途、制限

スクリーンスクレイピングとは何ですか?

Scrapeless Scraping Browserは、レンダリングされた公開ウェブページを自動化し、スクリーンスクレイピングに関連するプレゼンテーション層アクセスの近代的な形式である抽出ワークフローを提供します。

TL;DR

  • スクリーンスクレイピングは、人々のために意図されたプレゼンテーションから情報を抽出します。 ソースは、ターミナル、デスクトップアプリケーション、レンダリングされたウェブページ、リモートセッション、画像、またはドキュメントビューである可能性があります。
  • その技術はネイティブデータインターフェースの上で機能します。 可視テキスト、インターフェースコントロール、ピクセル、またはアクセシビリティ情報を読み取り、サポートされているAPIやデータベース接続に依存するのではなく、@@CODEBLOCK_0@@を使用します。
  • スクリーンスクレイピングは広範であり、歴史的には現代のウェブよりも古いです。 レガシーターミナル自動化は、依然として重要な例です。
  • プレゼンテーションの依存は脆弱性を生み出します。 レイアウト、ウィンドウサイズ、フォント、ローカリゼーション、テーマ、タイミングは、基礎となるビジネスデータを変更することなく、観察されるスクリーンを変更することができます。
  • 認可され、適切な場合は安定した構造化インターフェースを使用してください。 スクリーンスクレイピングは、より良いインターフェースが存在せず、ワークフローに強いバリデーションとガバナンスがある場合に最も防御可能です。

画面スクレイピングは、コンピュータシステムのプレゼンテーション層からデータを抽出することです。API、クエリ、エクスポート、またはファイルを通じて構造化されたレコードをソースに依頼する代わりに、スクレイパーはユーザーが見ることができるものや対話できるものを読み取ります。それは、固定された行と列の端末文字、デスクトップウィンドウのラベルとフィールド、レンダリングされたブラウザのテキスト、または光学式文字認識で解釈されたピクセルを意味するかもしれません。

この用語はウェブスクレイピングの同義語として緩く使われることがよくあります。重なる部分はありますが、範囲は異なります。ウェブスクレイピングはウェブソースに限られ、HTML、ネットワーク応答、またはブラウザの状態で操作できます。一方、スクリーンスクレイピングは非ウェブシステムをターゲットにすることができ、視覚的座標に完全に依存する場合があります。

スクリーンスクレイピングの仕組み

スクリーンスクレイピングワークフローは、まずターゲットビューを開くか、ナビゲートします。それは認識可能な状態を待ち、関心のあるフィールドを特定し、それらの値を読み取り、結果を検証し、別のシステムに構造化された出力を送信します。特定の方法は、信頼性の多くを定義します。

ターミナルスクレイパーは、既知の位置にある文字セルを読み取ることができます。デスクトップ自動化は、制御ツリー、ラベル、アクセシビリティノード、またはウィンドウハンドルを検査することがあります。ビジュアル自動化は、テンプレート、座標、またはOCRを使用します。ブラウザ指向のワークフローは、レンダリングされたDOMテキストとコントロールを検査することがあります。各アプローチはプレゼンテーションに配慮していますが、いくつかは他よりも多くのセマンティック構造を保持しています。

方法観測層メインの感度
ターミナルキャプチャ文字グリッドと画面状態行、列、フィールド、およびナビゲーションの変更
UI自動化コントロールまたはアクセシビリティツリー制御アイデンティティとアプリケーションのバージョン
こちらのテキストを翻訳します: OCRレンダリングされたピクセルフォント、スケール、コントラスト、画像品質、言語
ブラウザレンダリングレンダリングされたページとインタラクティブ状態DOM、スクリプト、タイミング、ビューポート、およびセッション状態

メインフレームからブラウザ自動化へ

スクリーンスクレイピングは、組織が現代的なプログラミングインターフェイスを持たない端末アプリケーションを統合する必要があるときに重要になりました。自動化ソフトウェアはキー入力を再現し、固定画面領域を読み取り、値を新しいシステムに移動しました。このパターンは、コアシステムの置き換えが高額またはリスクが高いビジネスプロセスに今でも存在しています。

現代のデスクトップおよびブラウザツールは、生の座標よりも豊富なシグナルを使用できます。アクセシビリティツリーは役割や名前を公開し、DOMノードはテキストや属性を公開し、ブラウザのネットワークログは構造化された応答を明らかにすることがあります。慎重なワークフローは、可能な限り最も意味的に承認されたレイヤーを使用します。ピクセル認識は、キャンバスコンテンツ、リモートデスクトップ、画像、または利用可能な構造を公開しないアプリケーションのためのフォールバックとして残ります。

スクリーンスクレイピング対API

APIは機械指向の契約です。操作やフィールドの名前を付け、認証を定義し、構造化された応答を返し、しばしば制限や変更の動作を文書化します。スクリーンスクレイピングは、データとは無関係なデザイン上の理由で変更される可能性のある人間のインターフェースを観察します。これにより、APIは通常、利用可能な場合に速く、明確で、検証が容易になります。また、必要なアクセスを許可します。

スクリーンスクレイピングは、レガシーシステムにエクスポート機能がない場合、承認されたワークフローが古いインターフェースをブリッジする必要がある場合、または視覚的な結果自体が収集されている証拠である場合に適切であることがあります。意思決定には、開発スピードだけでなく、メンテナンスコスト、エラーの結果、資格情報の取り扱い、監査のニーズ、ベンダーサポート、法的許可を含めるべきです。

The W3CのWAI-ARIAの概要 セマンティックアクセシビリティ情報は、支援技術によって使用されるものを説明します。自動化のために、アクセシビリティツリーは座標よりもより安定していて意義のあるものになる可能性がありますが、文書化されていない公開APIとして扱うべきではありません。

スクリーンスクレイピングの一般的な使用法

レガシーインテグレーション

承認されたプロセスは、サポートされたコネクタが存在しない場合、端末またはデスクトップフィールドを読み取り、結果を新しいアプリケーションに入力します。

ロボティック・プロセス・オートメーション

ボットは、目に見える画面に依存するビジネスプロセスを持つアプリケーションにおいて、繰り返しのインターフェースステップを実行します。

視覚的品質保証

テストは、ユーザーが実際に見るものを検証するために、レンダリングされたラベル、値、またはスクリーンショットをキャプチャします。APIが返したものだけではありません。

文書および画像抽出

OCRは、スキャンされたレポート、リモートセッション、チャート、または機械可読テキストを公開しないインターフェースからテキストを回収します。

なぜスクリーンスクレイピングは失敗するのか

プレゼンテーションレイヤーは頻繁に変更されます。フィールドが移動することがあり、ラベルが翻訳されることがあり、ウィンドウが異なるサイズで開くことがあり、レスポンシブページが再編成されることがあります。座標ベースのスクレイパーは、依然として構文的に有効な出力を生成しながら、誤った値を読み取るかもしれません。目に見えない正確でないデータは、見える自動化の失敗よりも危険です。

タイミングはもう一つの次元を加えます。データの読み込みが完了する前にビューが存在することがある、モーダルがターゲットを覆うことがある、またはアニメーションが座標を移動させることがあります。認識は、任意の間隔を待ってインターフェースが準備されていると仮定するのではなく、特定の状態をテストして抽出された値を検証する必要があります。

WCAG 2.2 はユーザーインターフェースのアクセシビリティ要件を文書化しています。これは自動化仕様ではありませんが、アクセス可能な名前、役割、および関係は、視覚的外観のみよりも正当な自動化にとってより意味のあるアンカーを提供することがよくあります。

セキュリティと資格情報リスク

いくつかのスクリーンスクレイピングワークフローは、特に金融または企業アプリケーションではユーザーアカウントを必要とします。共有資格情報、広範な権限、制御されていないセッション録画、コピーされた個人データは大きなリスクを生み出します。利用可能な場合は、委任された認可とサポートされているデータ共有インターフェースを優先します。秘密は適切なボールトに制限し、敏感な値をログすることなくアクションを記録し、開発と本番アカウントを分離します。

その 消費者金融保護局の個人金融データ権規則制定ページ は金融サービスにおける正当なデータアクセスの公式な文脈を提供します。金融スクリーンスクレイピングは、資格情報や高度に敏感な記録が関与する可能性があるため、特定の業界向けの法的およびセキュリティレビューに値します。

信頼性コントロール

  • 最初に意味論的なアンカーを使用してください。 絶対座標よりも、名前付きコントロール、アクセシビリティの役割、DOM関係、または端末フィールド識別子を優先します。
  • 画面の状態を確認します。 値を読み取る前に、アプリケーション、レコード、ページ、ロケール、および完了信号を特定します。
  • 出力を検証します。 公開前に、型、範囲、クロスフィールドの整合性、レコードのアイデンティティ、および必要なフィールドを確認します。
  • 証拠を慎重にキャプチャします。 スクリーンショットや生の状態は必要な場合のみ保存し、それらに含まれる個人情報や機密情報を保護します。
  • 自動化のバージョンを管理します。 ルールをアプリケーションバージョンに関連付け、サポートされているレイアウトごとに代表的なテストを保持します。
  • 人間によるレビューの経路を提供します。 影響の大きい例外は、信頼できる値に押し込まれるのではなく、検査のために停止すべきです。

より良い抽出レイヤーを選択する

  1. 認可されたAPI、エクスポート、データベースビュー、イベントフィード、または報告ファイルが要件を満たすかどうかを確認してください。
  2. そうでない場合、OCRまたは座標を考慮する前に、意味論的UIとアクセシビリティ構造を検査します。
  3. 視覚的抽出は、実際にピクセルまたはリモートディスプレイのみに存在する情報のみに使用します。
  4. 不正確な値の結果を定義し、比例的な検証を追加します。
  5. アクセス許可、資格情報、ソース所有権、保持、およびダウンストリームでの使用を文書化します。
  6. レイアウト、ロケール、テーマ、アプリケーションバージョンの変更に基づいてメンテナンスを推定します。

ウェブ上のスクリーンスクレイピング

レンダリングされたブラウザワークフローは、構造化されたウェブパースと純粋な視覚スクレイピングの間に位置します。これは、ユーザーが行うようにページと対話しながら、DOM要素、属性、およびネットワークデータを読み取ることができます。それは通常、OCRよりも強力なセレクタとクリーンな値を提供します。キャンバスレンダリングされたチャート、画像、リモートデスクトップの表面は、視覚的手法を必要とすることがあります。

Scrapeless Scraping Browser は公共ウェブ自動化のためのクラウドブラウザを提供します。抽出ロジックは、安定した意味論的ソースを優先し、URLとセッションの文脈を保持し、レコードのアイデンティティを検証する必要があります。レビューする Scrapelessの価格 は展開前に期待されるブラウザの実行時間とメンテナンスコストを確認してください。

運用チェックリスト

ターゲットアプリケーション、許可されたユーザー、許可の基盤、インターフェースバージョン、ビュー ポートまたは端末の寸法、ロケール、テーマ、期待される状態、フィールドのアンカー、検証ルール、および例外の所有者を記録します。空の値、長い値、翻訳されたラベル、ポップアップ、遅い読み込み、サイズ変更されたウィンドウ、および制御順序の変更をテストします。視覚的に一致するものは、裏のレコードが正しいという証明ではなく、検証するための証拠として扱います。

サポートされたインターフェイスが後で利用可能になった場合、設計の見直しを行います。スクリーンスクレイピングは耐久性のある橋となる可能性がありますが、明示的なスキーマと認可を備えたAPIやエクスポートは、長期的なリスクとコストを低下させる可能性があります。

結論

スクリーンスクレイピングは、ネイティブな機械インターフェースではなく、人間向けのプレゼンテーションからデータを読み取ります。これは、端末のキャプチャ、UI自動化、ブラウザのレンダリング、OCRにまたがります。この方法は、レガシーや視覚専用のシステムにとって有用ですが、プレゼンテーションへの依存性は、検証、バージョン管理、許可、資格情報のセキュリティ、メンテナンスを設計の中心的な部分にします。

レンダリングされたWebワークフローを自動化する準備ができましたか?

公共のWebインターフェース用にScrapeless Scraping Browserを使用し、意味的アンカー、検証、およびガバナンスを明示的に保持します。

無料で開始 →

よくある質問

簡単に言うと、画面スクレイピングとは何ですか?

画面スクレイピングは、サポートされたデータインターフェースではなく、ディスプレイやユーザーインターフェースから情報を自動的に読み取ることです。ターミナルセル、UIコントロール、レンダリングされたWebテキスト、またはOCRを通じたピクセルを読み取ることができます。

画面スクレイピングはWebスクレイピングと同じですか?

いいえ。WebスクレイピングはWebソースに制限され、表示される画面に依存せずにHTMLまたはネットワークデータを読み取ることがあります。画面スクレイピングはより広範で、ターミナル、デスクトップアプリケーション、リモートセッション、画像、レンダリングされたページをターゲットにすることができます。

画面スクレイピングは常にOCRを使用しますか?

いいえ。OCRはピクセル専用コンテンツのための1つの方法です。画面スクレーパーは代わりにターミナル文字、アクセシビリティツリー、デスクトップコントロール、またはブラウザのDOM要素を読み取ることができ、通常はより多くの構造を保持します。

なぜ画面スクレイピングは脆弱なのですか?

画面スクレイピングは、位置、ラベル、サイズ、タイミング、ロケール、テーマなどのプレゼンテーションの詳細に依存しています。それらの詳細は、基盤となるデータとは独立して変わる可能性があり、強力な検証なしに静かな読み取りミスを引き起こす可能性があります。

画面スクレイピングは合法ですか?

合法性は、承認、ソースの条件、アクセス制御、データ権、プライバシー、管轄権、行動、および下流の使用に依存します。公共のインターフェースは包括的な許可を生み出すわけではなく、認証されたワークフローには特別な注意が必要です。

APIを優先すべきときはいつですか?

必要なデータと受け入れ可能な条件を提供する場合は、承認されたAPIを優先してください。なぜなら、それは構造化されたフィールド、明示的な認証、文書化された動作、および人間のインターフェースよりも安定した変更管理を提供するからです。

参考文献