RPAツール「UiPath」を使ったデータスクレイピング(Webページ情報を自動収集)【悪用厳禁!】

RPA・RDA

データスクレイピングができるWebツールはいろいろありますが、RPAツール「UiPath」を使えばWebツールを使わずに、検索結果の収集や、Webサイトから直接情報を収集することができます。

この記事では、RPAツール「UiPath」を使ってデータスクレイピングを行う方法について解説します。

スクレイピングとは

IT用語辞典によると、Webスクレイピングとは次のとおりです。

「WebサイトからWebページのHTMLデータを収集して、特定のデータを抽出、整形し直すことである。用途の例としては、部分的にコンテンツを取り出して携帯電話向けのコンテンツを生成したり、小見出しの一覧を生成したり、といった使い方がある。なお「スクレイピング」(scraping)とは元々「削る」や「こすり落とす」といった意味の英語である。」

出典:「IT用語辞典」Webスクレイピング

例えば、特定のキーワードに対する検索結果を自動で収集したり、ECサイトの「人気商品」の商品名や価格、販売ページのURL等を自動で収集したり、オークションサイトや物件サイトの価格情報を自動でCSVファイルに抜き出す事ができる手法です。

スクレイピングを禁止しているサイトが多いので、悪用は厳禁

スクレイピングは「データを効率よく収集したい」と考えている方からしたら、非常に便利な手法です。

しかし、利用規約でスクレイピングを禁止しているサイトも多く(サーバーに負荷がかかるため)、著作権侵害に該当する恐れもあるため、スクレイピングをする際は気を付ける必要があります。

スクレイピングに関する法的な解説を分かりやすく解説して下さっている弁護士の方のブログを見つけました。

法的な問題をご心配の方は、以下の記事を参考にして下さい。
【スクレイピングと法律】スクレイピングって法律的に何がOKで何がOUTなのかを弁護士が解説。

悪用厳禁ではありますが、規約に引っかからない程度に、UiPathを使ってスクレイピングを試してみたいと思います。

 

UiPathでWebスクレイピング、設定方法と流れについて

それでは、UiPathを使ったWebスクレイピングのロボットを作成する手順を解説します。

ちなみに、UiPathの詳しい解説は以下の記事を参考にして下さい。

【RPA】UiPath(ユーアイパス)なら無料でRPAツールを使うことができる!(ただし、無料利用は条件あり)
様々なRPAツールがありますが、いずれも高額で「ちょっと試してみよう」と気軽に導入するには結構ハードルが高いです。 そこで、試用期間のあるRPAツールが無いか調べていたところ、条件次第では無料で使う事ができるRPAツールがあったので、ご紹...

作成するロボットの概要

「価〇.com」の人気売れ筋ランキングの1位~40位までの下記情報を収集し、CSVファイルに出力するというロボットです。

  • 商品名
  • URL
  • 最安値
なぜ、1位~40位という中途半端な数なのかについては、本記事を読み進めていくと分かります。
Am〇〇onや、楽〇、Ya〇〇oショッピング等であれば、100件、1000件と収集可能です。

事前準備「エクセルのアクティビティをインストール」

エクセルのアクティビティをインストールしないとCSVファイルに出力できないのでエクセルが使えるようになるアクティビティをインストールします。

アクティビティ・パッケージ(箱のようなアイコン)をクリックします。

アクティビティマネージャーが開きますので、左側にある「Available」をクリックします。

「Available」をクリック後、①入力窓に「excel」と入力すると「UiPath.Excel.Activities」というのが出現しますので、②「Install」をクリックします。

インストールが完了すると緑のチェックが表示されますので、チェックが出たら画面の「×」をクリックしてアクティビティマネージャーを閉じます。

「excel」を入力すると、エクセルのアクティビティが追加されました。

これで、エクセルを使った作業ができるようになります。

スクレイピングの対象となるウェブブラウザを立ち上げる

それでは早速、スクレイピングロボットを作っていきたいと思います。

UiPathを立ち上げ、新たな「sequence」を作成します(名称は適当に「スクレイピング」としました)。

スクレイピングするには、最初にブラウザを立ち上げる必要があるので、「Open browser」を中央にドラッグし、ブラウザを立ち上げるという動作を作ります。

よく使用するアクティビティは、お気に入り(Favorites)に入れておくと呼び出しやすいです。

右クリックでお気に入りに入れる事ができます。

「Open browser」を中央にドラッグしたら、入力項目にスクレイピング先のURLをダブルコーテーション(””)で囲んで入力します。

“http://kakaku.com/ranking/”

入力したら、試しに「F5キー」を押して、動作するか確認してみます。

ブラウザが立ち上がり、対象のURLにアクセスできたことを確認したら、セーブして次に進みます。

スクレイピングの対象となる項目を選択

上部メニューにある「Data Scraping」を選択します。

「Extract Wizard」というウイザードが表示されますので、「Next」をクリックします。

スクレイピング対象となる品目を選択します。一位の商品名をクリックします。

商品名を選択すると、下記ウイザードが表示されます。

内容は、「テーブルセルを選択したけど、テーブル全体からデータを抽出するか?」と聞かれているので、「いいえ」を選択します。

「はい」を選択すると、不必要なデータまでスクレイピングするのでご注意ください。

次に、このページ最後の品目(20位)を選択する必要があります。

予め、画面下の方にスクロールしておき、最後の品目が表示されたら「Next」をクリックします。

先に「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位」を選択しておきます)選択後、セーブは忘れずにしておいて下さい。

これで、データの取得までの流れを作る事ができました。

「Indicate Next Link」では、次のページに移動する要素を特定するよう聞かれているのですが、よくあるページ送りボタン「次へ」、「Next」、若しくは「>(ページ送りの記号みたいなもの)」の選択を求められており、ページ番号の選択ではきちんと動作しません。

ですので、この機能を使う際は必ずページ番号以外の部分を選択して下さい。

CSVファイルに出力

スクレイピングしたデータをCSVファイルに出力します。

「Write CSV」というアクティビティを中央にドラッグします。

次に、ファイルの出力先を決定します。

①「Write CSV」の右にある「」をクリックし、②ファイル名を任意のファイル名に変更し(そのままでもOKです)、保存先を選択して下さい(デスクトップが分かりやすいです)。

③最後に「保存」をクリックします。

「Write CSV」の下記の部分に「ExtractDataTable」と入力します。

「Variables」という部分をクリックすると、「ExtractDataTable」と表示されますので、こちらの表示をコピーして、「Write CSV」の枠に張り付けると良いかと思います。

以上でデータスクレイピングロボットは完成です!

ロボットがきちんと動くか、「F5キー」を押して動かしてみます。

1位~40位の情報をあっという間にスクレイピングできました。

 

まとめ

以上、UiPathを使ったWebスクレイピングの設定方法について解説しました。

最初にお伝えしましたが、スクレイピングを禁止しているサイトもあり、著作権や偽計業務妨害などにも該当する恐れがあるので、
スクレイピングをする際は、サイト運営者とのトラブルにくれぐれもご注意ください。

 

ちなみに、UiPathを使って自動でメールマガジンの配信設定を行うロボットを作ってみました。

興味のある方は以下の記事をどうぞ。

【UiPath x アスメル】メルマガの配信作業を自動化!配信システムのログインから配信設定までRPAで自動化
「メールマガジンを書く」のは誰にも任せることなく全て自分で執筆してきましたが、配信作業はルーチンワークなので、外注さんに原稿を渡し、後の配信作業に全て外注さんにお任せしていました。 執筆した原稿はチャットワークで外注さんに渡して、「お願い...
タイトルとURLをコピーしました