【UiPath】メルカリで特定の商品の平均購入金額を調査する方法

メッセージボックス、実行結果

概要

入力ダイアログに商品名を入力。メルカリで検索し、取引成立済みの案件を抽出。価格情報をExcelで保存して、そこから平均購入金額を算出します。

実行動画

ワークフロー全体図

メルカリで特定の商品の平均購入金額を調査する方法_ワークフロー

アクティビティ

入力ダイアログ
ブラウザーを開く
文字を入力
クリック
データスクレイピング
Excelアプリケーションスコープ
範囲を追加
範囲を読み込む
データテーブルを構築
繰り返し(各行)
代入
データ行を追加
メッセージボックス

変数

[名前]|[変数の型]

Item_Name|String
ExtractDataTable|DataTable
PriceInfo|String
PriceTable|DataTable
Price|String
Price2|String
Price3|String
Average|String

作成手順

1.【入力ダイアログ】アクティビティをドロップ

変数「Item_Name」を新規作成し、入力した商品名を格納
【入力ダイアログ】アクティビティ

2.【ブラウザーを開く】アクティビティをドロップ

[プロパティ]の設定

[URL]:”https://www.mercari.com/jp/”
[ブラウザーの種類]:BrowserType.Chrome
【ブラウザーを開く】アクティビティ

3.ブラウザーを立ち上げ、「メルカリ」のトップページにアクセス

4.【文字を入力】アクティビティをドロップ

「メルカリ」サイトを後ろに表示し、[ブラウザー内で要素を指定]をクリック。
[検索ボックス]を指定する。
【文字を入力】アクティビティ

検索ボックスに入力する、変数「Item_Name」を指定

変数「Item_Name」を指定

5.【クリック】アクティビティをドロップ

「メルカリ」サイトを後ろに表示し、[ブラウザー内で要素を指定]をクリック。
[検索ボタン]を指定する。

[検索ボタン]を指定 検索マーク

6.「メルカリ」サイトで検索し、検索結果のページに切り替える

→「メルカリ」サイトで適当な商品名で検索し、検索結果のページにする。

7.【クリック】アクティビティをドロップ

「メルカリ」サイトを後ろに表示し、[ブラウザー内で要素を指定]をクリック。
[売り切れ]チェックボックスを指定する。

[売り切れ]チェックボックス
【クリック】アクティビティ

8.【クリック】アクティビティをドロップ

「メルカリ」サイトを後ろに表示し、[ブラウザー内で要素を指定]をクリック。
[完了]ボタンを指定する。
[完了]ボタン

【クリック】アクティビティ

9.[リボン]内【データスクレイピング】を実行

「メルカリ」サイトを後ろに表示し(検索結果ページ)、【データスクレイピング】を実行

[値を選択]がポップアップ表示され、[次へ]を選択

10.[価格]にカーソルをあててクリック

[価格]にカーソルをあてる

次に、[2番目の要素を選択]がポップアップ表示され、[次へ]を選択

→別の[価格]をクリックする

11.[列を設定]がポップアップ表示され、[テキストを取得]にチェック、[テキスト列名]を入力する

[列を設定]がポップアップ

取得した価格情報の[プレビューデータ]が表示される

プレビューデータ
取得内容に問題なければ、[完了]をクリック。

[データは複数ページにわたりますか?]のポップアップ表示されるので、[いいえ]を選択して終了。

データスクレイピング ExtractDataTable

取得データは、「ExtractDataTable」に格納されている

→変数「ExtractDataTable」のスコープをワークフロー名に変更します。

12.【データスクレイピング】の[セレクターを編集]する

サンプルで検索した商品名が残っているので、ワイルドカード「*」に変更する。

ワイルドカード「*」

12.【Excelアプリケーションスコープ】アクティビティをドロップ

参照元のExcelファイルを選択「mercari_price.xlsx]

13.実行内に、【範囲を追加】アクティビティをドロップ

[プロパティ]の設定

[シート名]:”Sheet1″
[データテーブル]:ExtractDataTable

14.【範囲を読み込み】アクティビティをドロップ

[プロパティ]の設定

[シート名]:”Sheet1″
[範囲]:””
[データテーブル]:変数「PriceInfo」を新規作成

【Excelアプリケーションスコープ】アクティビティ

15.【データテーブルを構築】アクティビティをドロップ

[int32]で価格のデータテーブルを構築
→Computeメソッドを使って集計するには、数値型である必要がある為、データテーブルを構築して[int32]で格納します。
[出力]:PriceTable

【データテーブルを構築】アクティビティ

16.【繰り返し(各行)】アクティビティをドロップ

→Excelに格納した「PriceInfo」を取り出します。
Excel内に格納されたデータ
【繰り返し(各行)】アクティビティ

17.【代入】アクティビティをドロップ

[右辺値]:row.Item(0).ToString
[左辺値]:変数「Price」を新規作成

18.【代入】アクティビティをドロップ

[右辺値]:PriceInfo2.Remove(0,1)
[左辺値]:変数「Price2」を新規作成

→Removeメソッドで「¥マーク」をとります。

19.【代入】アクティビティをドロップ

[右辺値]:Price2.Replace(“,”, “”)
[左辺値]:変数「Price3」を新規作成

→Replaceメソッドで「金額のカンマ」を置換でとります。

20.【データ行を追加】アクティビティをドロップ

[データテーブル]:PriceTable
→15.【データテーブルを構築】で作成したもの。
[列配列]:{Price3}

【代入】アクティビティ

21.【代入】アクティビティをドロップ

[右辺値]:PriceTable.Compute(“Avg(Price)”, String.Empty).ToString
[左辺値]:変数「Average」を新規作成
→「Computeメソッド」の「Avg」で平均値を算出します。

22.【メッセージボックス】アクティビティをドロップ

「”購入価格の平均金額は” + Average +”円です。”」

【代入】【メッセージボックス】アクティビティ

実行結果

実行結果、メッセージボックス
まなびのマーケット【ストアカ】
全国・オンライン開催の「RPA」の講座