UiPathで実現するWebスクレイピング自動化システム
はじめに
Webサイトからのデータ収集は、多くのビジネスシーンで必要になる作業です。競合調査、価格モニタリング、市場リサーチなど、定期的にWebから情報を取得したい場面は数多くあります。
しかし、手作業でのデータ収集は時間がかかるだけでなく、ミスも発生しやすい作業です。今回は、UiPathを活用してこのWebスクレイピング業務を自動化した事例をご紹介します。
お客様からいただいた課題
課題1:手作業によるデータ収集に膨大な時間がかかる
お客様は定期的に複数のWebサイトからデータを収集していましたが、サイトを一つずつ開き、必要な情報をコピーしてExcelに貼り付ける作業を繰り返していました。1回あたり数時間かかる作業を、週に何度も行っている状態でした。
課題2:手作業によるミスが発生する
コピー&ペーストの繰り返しの中で、データの取り違えや入力漏れが避けられませんでした。特にデータ量が多い場合、チェック作業にも時間がかかっていました。
課題3:プログラミングスキルがない担当者でも運用したい
Pythonなどでスクレイピングスクリプトを書くことも検討されましたが、担当者にプログラミングスキルがなく、メンテナンスや修正が難しいという懸念がありました。
なぜUiPathを選んだのか
スクレイピングの自動化手段はいくつかありますが、今回UiPathを採用した理由は以下のとおりです。
| 比較項目 | UiPath(RPA) | Python等のスクリプト |
|---|---|---|
| 開発 | ビジュアルなワークフロー設計 | コーディングが必要 |
| 運用 | 非エンジニアでも操作可能 | スクリプト修正にスキルが必要 |
| ブラウザ操作 | 画面要素を直接指定できる | HTML構造の理解が必要 |
| Excel連携 | 標準アクティビティで簡単 | ライブラリの導入が必要 |
| スケジュール実行 | Orchestratorで管理可能 | cron等の別途設定が必要 |
お客様の環境と運用体制を考慮し、非エンジニアでも運用・修正できるUiPathが最適と判断しました。
解決策:UiPathスクレイピングシステムの開発
システム概要
スケジュール起動(Orchestrator)
↓
対象Webサイトにアクセス
↓
データ抽出(Data Scraping)
↓
データ整形・加工
↓
Excel/CSVへ出力
↓
完了通知(メール)
実装のポイント
1. Data Scrapingウィザードの活用
UiPathの「Data Scraping」機能を使い、Webページ上の表形式データを効率的に抽出しました。ページネーション(次ページへの遷移)にも対応し、複数ページにまたがるデータも自動で取得できるようにしています。
2. セレクターの安定化
Webスクレイピングで最も重要なのが、要素を特定する「セレクター」の安定性です。以下の工夫を行いました:
- 動的なIDを避ける:変化しやすいID属性ではなく、安定したクラス名やタグ構造で要素を指定
- アンカーベースのセレクター:近くの安定した要素を基準にした相対的な指定
- ファジーセレクター:完全一致ではなく部分一致で、サイトの軽微な変更に耐えられる設計
3. エラーハンドリング
Webサイトはいつでも構造が変わる可能性があります。そのため、以下のエラー対策を実装しました:
- 要素が見つからない場合のリトライ処理
- タイムアウト設定による無限待ちの防止
- エラー発生時のスクリーンショット保存(原因調査用)
- 処理結果のログ出力
4. Excel出力の自動化
収集したデータをExcelファイルに自動出力する際、以下の点を考慮しました:
- 日付ごとにシートを分けて出力
- 前回データとの差分がわかるようにフォーマットを統一
- ヘッダー行の自動設定
改善結果
1. 作業時間の大幅短縮
手作業で数時間かかっていたデータ収集が、ロボット実行で数分で完了するようになりました。週に何度も行っていた作業がほぼゼロになり、担当者は分析業務に集中できるようになっています。
2. データ品質の向上
手作業によるコピーミスや入力漏れがなくなり、データの正確性が向上しました。毎回同じ手順で実行されるため、データの一貫性も保たれています。
3. 非エンジニアでも運用可能
UiPathのビジュアルワークフローにより、プログラミングスキルがない担当者でも、対象サイトの変更やデータ項目の追加といった軽微な修正が行えるようになりました。
UiPathスクレイピングで気をつけること
実装を通じて得られた知見を共有します。
セレクターは「壊れる前提」で設計する
Webサイトの構造はいつ変わるかわかりません。セレクターが壊れたときに素早く対応できるよう、エラー通知とスクリーンショットの保存は必須です。
スクレイピングの実行頻度には注意
対象サイトへの負荷を考慮し、適切な待機時間を設定することが重要です。過度なアクセスはサイト側からブロックされるリスクがあります。
利用規約の確認
スクレイピング対象サイトの利用規約を事前に確認し、規約に反しない範囲で実施することが大前提です。
まとめ
手作業によるWebデータ収集の課題を、UiPathのRPA技術で解決しました。
改善前:
- データ収集に数時間かかる
- 手作業によるミスが発生
- 担当者にプログラミングスキルが必要
改善後:
- データ収集が数分で完了
- 自動実行によりミスゼロ
- 非エンジニアでも運用可能
RPAによるスクレイピングは、「コードを書かずにデータ収集を自動化したい」というニーズに対して有効な選択肢です。特に、運用担当者がエンジニアでない場合に大きなメリットを発揮します。
関連リンク: