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

RPAツールを使えば、検索結果の収集や、ウェブサイトから直接情報を収集する「スクレイピング」が簡単にできます。

今回は、RPAツールの「UiPath」を使ったWebスクレイピングについて、ご紹介したいと思います。

スクレイピングとは

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

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

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

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

「データを効率よく収集したい」と考えている方からしたら、非常に便利な手法ではありますが、利用規約でスクレイピングを禁止しているサイトも多く(サーバーに負荷がかかるため)、また、著作権侵害に該当する恐れもあるため、スクレイピングをする際は十分気を付ける必要があります。

スクレイピングに関する法的な解説を分かりやすく解説して下さっている弁護士の方のブログを見つけました。法的な問題をご心配の方は、下記をご参照下さい。
【スクレイピングと法律】スクレイピングって法律的に何がOKで何がOUTなのかを弁護士が解説。

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

 

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

それでは、UiPathを使ったWebスクレイピングのロボットを作成していきたいと思います。

作成するロボットの概要

「価〇.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位の情報をあっという間にスクレイピングできました。

※今回は動作している様子を動画に撮っていません。「F5キー」を押した後、ブラウザが立ち上がり、数秒経った後にCSVファイルが出現。という一連の動作が非常に地味だったので…

 

まとめ

以上、UiPathを使ったWebスクレイピングを解説させて頂きました。

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

気に入っていただけたらシェアお願いします。

ABOUTこの記事をかいた人

1977年神奈川県生まれ。コンサルティング会社勤務を経て独立。店舗ビジネスに特化したコンサルティング業務を展開していたが、身近な人の倒産を目の当たりにした事をきっかけに事業再生に目覚め、平成21年5月より、事業再生に参入。全国各地の中小企業の再生業務に関与し、中小企業の事業再生のサポートを行っている。 平成23年8月、M&Aに特化した株式会社クレアークを設立、代表取締役に就任。現在に至る。業務の幅を広げる事により、サポートの幅を広げている