ロバストなロボットの作成

Web サイトは、予告なしに変更されることが頻繁にあります。このような変更を考慮しない場合、ロボットがタスクの実行に失敗する可能性があります。ロバストとは、Web サイトの変更にロボットが適切に対処できるかを示すために用いられる用語です。ロボットが対処可能で、正しく動作できる変更が多いほど、ロバストということになります。

しかし、ロボットをロバストにするにはコストもかかります。ロバストなロボットの記述は、脆弱なロボットの記述に比べ、手間と時間がかかります。これには、対象の Web サイトの分析や、登録フォームが間違って入力された場合などのさまざまな状況においてロボットがどのように対応するかといった内容の理解が必要となります。また、ロバストなロボットの作成には、Web サイトのロジックをリバースエンジニアリングすることも必要になります。通常、それには内容を精査するしかありません。

ロバストに対しては以下の 2 つのアプローチがあり、それぞれ目的が異なります。

  • 可能な限り成功させる。
  • 不完全な場合に失敗するようにする。

ニュースのタイプ変数を抽出するロボットでは、可能な限り成功させるということは、可能な限り多くのニュース アイテムを抽出するということを意味します。Design Studio では、条件付きアクション、トライ ステップ、およびデータ コンバータを使って、さまざまなレイアウト、欠落した情報、および不適切にフォーマットされたコンテンツに対処することができます。

オーダーを提出するタイプのロボットでは、不完全な場合の失敗とは、フィールドを正しく入力する方法が不明確であったり、オーダーの結果ページが正確なレイアウトと一致しない場合などに、ただちに失敗するようにすることを意味します。この場合、「失敗」とは API 例外を生成することではありません。エラーや障害の原因を記述する専用の値をロボットが返すようにすることを意味します。入力変数を取るロボットでは、成功よりも頻繁に失敗が発生することあります。Design Studio では、専用のエラー タイプ変数、エラー処理、および条件付きアクションを使って予期しない状況を検出し、処理することができます。

ロボットをよりロバストにするための Design Studio 技術の詳細については、以下のセクションを参照してください。HTML からのコンテンツ抽出HTML テーブルからのコンテンツ抽出エラー処理、およびタグ ファインダーの使用