【UiPath】スクレイピング機能を学習する【初心者】

UiPath

UiPathスクレイピング機能を学習する【初心者

UiPathの学習追体験記事です。
※あくまで学習中の脳内を記事にしたものなので、この記事で書かれてあることが”正しい”とは限りません。

参考:学習効率本5巻 「知識の自作」

最新研究からわかる 学習効率の高め方 第5巻 - ふろむだ - BOOTH
基本的に、本書の第1~4巻を読んでいない方は、この巻を理解できませんので、ご注意ください。 ファイル形式はPDFです。

0.動機

「Googleの検索上位表示をまとめて取得したい」と思っていたところ、勉強中のUiPathでもスクレイピング機能があることを知ったため、その機能を学習してみました。以下、学習内容となります。

1.事前情報

まずは、UiPathのスクレイピング機能についての説明文を見てみましょう。

UiPath学習プラットフォームの「UiPathアカデミー」から説明文を引用しています。

UiPathのスクレイピング機能とは?

データスクレイピング機能とは、構造化されたデータを簡単に取得することができる機能のことです。
引用元:https://academy.uipath.com/jp/

構造化されたデータとは?

構造化されたデータとは、一定のルールに基づいて整理されており、予測可能なパターンで構成されている情報を指します。
引用元:https://academy.uipath.com/jp/

 

筆者
筆者

UiPathでは構造化されたデータを簡単に取得できるとのこと。UiPathアカデミーの説明文に、例として、Google検索表示のタイトルとリンクの取得に関して述べられていたため、自分のやりたいことはできるはず。ただ、UiPath初心者の自分にできるかが心配だ。。

後、スクレイピングの中でもデータスクレイピング画面スクレイピングがあるらしい。今回はデータスクレイピングを学ぼう。

2.学習プロセス

学習プロセスとは、

学習テーマに対して、問いを重ね、実践することで理解を深めていくプロセス

と定義しています。

今回の場合は、

学習テーマ:UiPathのデータスクレイピング機能
問い①  :Googleの検索順位を取得できる?
実践・理解:○○
問い②

という感じ。

では、以下から、UiPathのデータスクレイピング機能について学習していきます。

問い① Googleの検索順位を取得できる?

まずはじめの問いは、Googleの検索順位を取得できるかどうか。UiPathアカデミーの説明文通りにやればできると思うが、UiPath歴1ヶ月未満の自分が本当にできるのか。

実践

UiPathのデータスクレイピング機能を使用して、Googleの検索順位を取得することを試みた。結果的に取得できはしたが、余計な情報を取得してしまった。

実践の様子 とりあえずデータスクレイピングでデータを取得してみる

「データスクレイピング」をクリック。

はじめに表示されるウィンドウでは「次へ」をクリック。

データスクレイピングするページはブラウザGooglechromeからGoogle検索「UiPath」で検索したページ。

検索表示1位のタイトルをクリック(広告欄は除く)。

「次へ」をクリック。

1ページ目最後のタイトルをクリック。

すると、タイトル以外の部分もハイライトされてしまった。タイトルとリンクのみ取得できればいいのだが……

「テキストを取得」と「URLを取得」のチェック欄にチェックをつける。
テキスト列名:タイトル
URLの列名:URL
と設定し、「次へ」をクリック。

表示されたプレビューデータを見ると、やはり、余計な部分も取得してしまっている。

とりあえず、取得したデータをCSVに書き込んでみる。

やり方は、「CSVに書き込み」アクティビティを追加して、書き込み先ファイルと書き込み元(変数)を設定するのみ。

開いてみると、

案の定、気持ちの悪いデータになってしまった。

実践の様子 試したこと

「CSVに書き込み」アクティビティの代わりに、「メッセージボックス」アクティビティを使ってみた。

なにも表示されず。。

おそらく、「メッセージボックス」アクティビティが扱えるデータ型に原因があるのだろう。

ということで、UiPathドキュメントで調べてみた。

メッセージ ボックス (Message Box)
UiPath Activities はオートメーション プロジェクトのビルディング ブロックです。これらによって、PDF、Excel、Word ドキュメントの読み取りやデータベースまたはターミナルとの連携から HTTP 要求の送信やユーザー イベントの監視まで、あらゆる種類のアクションを実行できます。

扱えるデータ型については書かれていなかった(当たり前すぎるのだろう)。

他の記事で調べてみたところ、すべてデータ型「String」で設定されていたため、「メッセージボックス」アクティビティはデータ型「String」を扱うアクティビティなのだろう。

つまり、今回は、「メッセージボックス」アクティビティでデータ型「DataTable」の変数を利用したために、変数の中身が表示されなかったのかもしれない。

問い② タイトルとリンクのみ取得するには?

問い①では、データを取得できたものの余計なデータも取得してしまった。どうにか、検索表示のタイトルとリンクのみ取得できないだろうか。

実践

データスクレイピングするにあたり、選択する値を変更することで欲しい情報をまとめて取得できた。

実践の様子 構造的に分かりやすいものを選択してみた

検索表示のされ方が、検索表示1位のみ異なっていたため、検索表示2位以下のものを指定してデータスクレイピングしてみた。

上記画像は、検索表示2位を選択している画像。

1ページ目最後のタイトルをクリック。

すると、1ページ目に表示されている検索表示1位から最後のもののタイトルとリンクが取得されていた!

上記画像は、その時のデータ定義。

実際にCSVに書き込んだデータを見たところ、まとまりよくタイトルとリンクが取得できていた!(上記画像)

実践の様子 ちょっとしたミス

デバッグ時、CSVに書き込むファイルを開いたままにしてしまい、エラーが発生した。

問い③ 他の検索表示では?

問い①②では、検索キーワード「UiPath」で試してみた。他のキーワードで検索して表示のされ方が異なる場合はどのようにデータスクレイピングされるのだろうか。

検索キーワード「スクレイピング」で検索した結果、検索表示1位に「強調スニペット」という欄が設けられていた。

強調スニペットとは、

強調スニペットとは?強調スニペットに表示するための方法について|SEOラボ
強調スニペットとは検索クエリに対してわかりやすい答えとなる内容を上部に大きく表示させるもので、目立つのはもちろん訪問ユーザーを増やすには非常に有利な要素となります。この記事では強調スニペットの表示させるための方法について詳しくご説明しています。

実践

強調スニペットで表示されているタイトルの取得も考慮した上で、検索表示のタイトルとリンクの取得を試みた。

実践の様子 データ定義をいじる

強調スニペットとなっている記事タイトルを指定して、データスクレイピングを試みたところ、余計な情報まで取得してしまった。

そのため、検索表示2位以下(強調スニペット以下のタイトル)のタイトルを指定し、データスクレイピングを試みた。結果が下記画像。

強調スニペット記事は取得されていなかった。

どうにかして、強調スニペット記事も取得したいところ。

なんとなく、データ定義を見てみた。(上記画像)

最初の「idx」が「2」になっている。これを「1」に変更することで、強調スニペット記事も取得できるのではないか(と淡い期待)。

「1」にしてみた。

結果…

強調スニペット記事のみ取得!?!?

なぜ???

理由は分からず仕舞い。

とりあえず、先ほどの数値を「1」から「2」に変更して、CSVに書き込み。(下記画像)

強調スニペット記事を含まない検索表示2位以下のタイトルとリンクを取得できた。

問い④ 他のブラウザでは?

これまでは、GooglechromeからGoogle検索を使ってデータスクレイピングを試みた。次は、Edgeでデータスクレイピングを行ってみる。

実践

Edgeからデータスクレイピングを試みた

実践の様子 謎のリンクが取得される

検索キーワード「UiPath」

問い②の方法でデータスクレイピングを行ってみた結果が上記画像。

広告欄はハイライトされていなかったが、広告欄に表示されているURLを取得してしまっている(広告欄のタイトルは取得されていない)。

検索キーワード「スクレイピング」でも同様な結果に。

とりあえず、CSVに書き込み。

「ブラウザーにアタッチ」アクティビティのプロパティ「ブラウザーの種類」を確認したところ、「Edge」に設定されていた。自動でブラウザーを識別してくれるのだろう。

データを確認したところ、やはり、広告欄のリンクを取得してしまっている。

謎だ。。

3.まとめ

データスクレイピングで簡単に構造化されたデータを取得できる。しかし、必要な情報のみを取得することは難しい(初心者にとって)。

今回感じたデータスクレイピングのコツは、『似た構造を持ったデータを選択しろ』。

以上。

4.参考文献

https://academy.uipath.com/jp/

※無料で利用可能

基礎がよくわかる! ゼロからのRPA UiPath 超実践テクニック
Amazon.co.jp: 基礎がよくわかる! ゼロからのRPA UiPath 超実践テクニック eBook: 吉田 将明: Kindleストア

 

 

コメント

タイトルとURLをコピーしました