RPAツール、UiPathを使ってデータスクレイピングする方法をお探しの方向け。
Webサイトの検索結果や、ECサイトの商品情報を収集する際、手作業でコピペして1件1件収集していたら疲れてしまいますし、時間の無駄です。
こうしたデータが必要な時は、RPAツールで自動化することで、簡単にデータスクレイピングを行うことができます。
この記事では、RPAツールUiPathを使って、ECサイト内の商品情報をデータスクレイピングを行う方法について解説します。
目次
スクレイピングとは
IT用語辞典によると、Webスクレイピングとは次のとおりです。
「WebサイトからWebページのHTMLデータを収集して、特定のデータを抽出、整形し直すことである。用途の例としては、部分的にコンテンツを取り出して携帯電話向けのコンテンツを生成したり、小見出しの一覧を生成したり、といった使い方がある。なお「スクレイピング」(scraping)とは元々「削る」や「こすり落とす」といった意味の英語である。」
Webスクレイピングでできる一例は次のとおりです。
- 特定のキーワードに対する検索結果を自動で収集
- ECサイトの「人気商品」の商品名や価格、販売ページのURL等を自動収集
- オークションサイトや物件サイトの価格情報を自動でCSVファイルに抜き出す
スクレイピングを禁止しているサイトが多いので悪用厳禁
スクレイピングは「データを効率よく収集したい」と考えている方からしたら、非常に便利な手法です。
しかし、利用規約でスクレイピングを禁止しているサイトも多く(サーバーに負荷がかかるため)、著作権侵害に該当する恐れもあるため、スクレイピングをする際は気を付ける必要があります。
悪用厳禁ではありますが、規約に引っかからない程度に、UiPathを使ってスクレイピングを試してみたいと思います。
UiPathでデータスクレイピングを設定する手順
それでは、UiPathを使ってデータスクレイピングを行うロボットを作成する手順を解説します。
- 作成するロボットの概要の説明
- 手順①:事前準備「エクセルのアクティビティをインストール」
- 手順②:スクレイピングの対象となるWebブラウザを立ち上げる
- 手順③:スクレイピングの対象となる項目を選択
- 手順④:CSVファイルに出力
ちなみに、UiPathの詳しい解説は以下の記事を参考にして下さい。

作成するロボットの概要の説明
「価〇.com」の人気売れ筋ランキングの1位~40位までの下記情報を収集し、CSVファイルに出力するというロボットです。
- 商品名
- URL
- 最安値
手順①:事前準備「エクセルのアクティビティをインストール」
データスクレイピングを設定する事前準備として、エクセルのアクティビティをインストールします。
アクティビティ・パッケージ(箱のようなアイコン)をクリックして下さい。
アクティビティマネージャーが開きますので、左側にある「Available」をクリックします。
「Available」をクリック後、①入力窓に「excel」と入力すると「UiPath.Excel.Activities」というのが出現しますので、②「Install」をクリックします。
インストールが完了すると緑のチェックが表示されますので、チェックが出たら画面の「×」をクリックしてアクティビティマネージャーを閉じます。
「excel」を入力すると、エクセルのアクティビティが追加されました。
エクセルのアクティビティをインストールしておくことで、エクセルを使った作業ができます。
手順②:スクレイピングの対象となるWebブラウザを立ち上げる
エクセルのアクティビティをインストールしたら、スクレイピングロボットを作っていきます。
UiPathを立ち上げ、新たな「sequence」を作成します(名称は適当に「スクレイピング」としました)。
スクレイピングするには、最初にブラウザを立ち上げる必要があるので、「Open browser」を中央にドラッグし、ブラウザを立ち上げるという動作を作ります。
「Open browser」を中央にドラッグしたら、入力項目にスクレイピング先のURLをダブルコーテーション(””)で囲んで入力します。
“http://kakaku.com/ranking/”
入力したら、試しに「F5キー」を押して、動作するか確認してみます。
ブラウザが立ち上がり、対象のURLにアクセスできたことを確認したら、セーブして次に進みます。
手順③:スクレイピングの対象となる項目を選択
上部メニューにある「Data Scraping」を選択します。
「Extract Wizard」というウイザードが表示されますので、「Next」をクリックします。
スクレイピング対象となる品目を選択します。一位の商品名をクリックします。
商品名を選択すると、下記ウイザードが表示されます。
内容は、「テーブルセルを選択したけど、テーブル全体からデータを抽出するか?」と聞かれているので、「いいえ」を選択します。
次に、このページ最後の品目(20位)を選択する必要があります。
予め、画面下の方にスクロールしておき、最後の品目が表示されたら「Next」をクリックします。
最後の品目を選択します。
先程と同様、商品名をクリックします。
これで、1位~20位までの間のデータは自動的にスクレイピングが可能となります。
20位の商品名をクリックすると「Extract Wizard」が表示されます。
初期では「Column1」という名称が入ってますので、分かりやすいように「商品名」に変更します。
URLも抽出したいので、「Extra URL」にチェックを入れます(名称も「Column2」から「URL」と変更しました)。
名称変更後、「Next」をクリックします。
1位~20位までの商品名とURLを抽出できたことが確認できます。
品目とURLの他、価格の情報も欲しいので、「Extract Correlated Data」をクリックします。
スクレイピング対象を追加できますので、価格の部分を選択します(1位の商品の価格をクリックします)。
「Extract Wizard」が表示されますので、画面下の方までスクロールし、「Next」をクリックします。
最後の品目(20位)の価格の部分をクリックします。
「Extract Wizard」が表示されますので、「Column3」という名称を「最安値」に変更し、「Next」をクリックします。
これで、商品名とURL、価格情報をスクレイピングする事ができました。
商品名、商品URL、価格情報をスクレイピングできたので、「Finish」をクリックします。
「Indicate Next Link」が表示され、スクレイピングが複数のページにわたる場合「Next」ボタンを指示するよう求められます。
1ページ分だけスクレイピングする場合は、「No」を選択します。
今回は「Yes」を選択します。
(「価〇.com」のランキングはページ送りが無いので、「20~40位」を選択しておきます)選択後、セーブは忘れずにしておいて下さい。
これで、データの取得までの流れを作る事ができました。
手順④:CSVファイルに出力
スクレイピングしたデータをCSVファイルに出力します。
「Write CSV」というアクティビティを中央にドラッグします。
次に、ファイルの出力先を決定します。
①「Write CSV」の右にある「…」をクリックし、②ファイル名を任意のファイル名に変更し(そのままでもOKです)、保存先を選択して下さい(デスクトップが分かりやすいです)。
③最後に「保存」をクリックします。
「Write CSV」の下記の部分に「ExtractDataTable」と入力します。
以上でデータスクレイピングロボットは完成です!
ロボットがきちんと動くか、「F5キー」を押して動かしてみます。
1位~40位の情報をあっという間にスクレイピングできました。
まとめ
以上、RPAツール、UiPathを使ってデータスクレイピングを行う方法を解説しました。
最初にお伝えしましたが、スクレイピングを禁止しているサイトもあり、著作権や偽計業務妨害などにも該当する恐れがあるので、
スクレイピングをする際は、サイト運営者とのトラブルにくれぐれもご注意ください。
ちなみに、「【UiPath】メルマガの配信作業をRPAで自動化する手順を解説【アスメル】」という記事でUiPathを使って自動でメールマガジンの配信設定を行うロボットを作りましたので、興味のある方は是非どうぞ。