付けば8月ももう終わり

はい、そういうわけでございまして。
夏休み最終日、全国のちびっ子諸君はいかがお過ごしでしょうか。

オジサンは8月一本もブログを書けず。
こうして夏休みの宿題よろしく最終日に追い込みを行っております。

今こそちびっ子達に生温いエールを贈りましょう。

……コホン。

その辺りは大人になっても何も変わらないよっ!

さて。
そんな夏休み最終日にお届けするのは、「Robotic Crowd」の続きでございます。

前回はRobotic Crowdでの「基本的なロボットの作り方」をお話しましたので、
今回は「Webサイトからのデータ取得」を見ていきましょう。

ではでは、いつものように。

「Robotic Crowd」起動っ!

記事タイトルの取得

ログインしたら、「ワークフローの作成」です。

前回のワークフローを編集しても良いのですが、
ワークフロー自体は自由に追加ができますので、新しいワークフローを用意しましょう。

ワークフローができたら、最初に対象のWebサイトを開くために、
サイドバーから「ブラウザを開く」アクションをドラッグします。

せっかくですから「Yahoo!ニュースのランキングページ」で話題のニュースを取得しましょうか。
(「総合系」だと内容が多岐にわたってしまうので、今回は「スポーツ」で設定します)


Yahoo!ニュースのランキングページ(スポーツ)
https://news.yahoo.co.jp/ranking/access/news/sports

まずはこのページから、ランキング1位のニュースの「記事タイトル」を取得します。

ニュースのタイトルにマウスカーソルをあわせて、右クリック。
前回同様「CSS Selectorを取得」で、対象項目のページ内での住所(要素)を取得します。

要素を取得したら、Robotic Crowdに戻って、
サイドバー中の「GetText(テキストを取得)」アクションをドラッグしましょう。

「CSSセレクタ」の欄に、今取得した要素を貼り付けます。

かなり複雑な要素が貼り付いてしまいましたね……。

正常にデータが取得できるかどうか、一度「実行」ボタンを押して確認してみましょうか。

おお。大丈夫そうです。

記事URLの取得

次に、対象のニュースの「記事URL」を取得します。

サイドバーの中に「GetURL(URLを取得)」というアクションがありますので、それをドラッグ……

すると、こんな画面が出てきます。

おや?「ブラウザ」としか書かれていませんよ。

そうなんです。
このアクションは「対象のブラウザが開いているページのURLを取得する」という機能なんです。
「テキストを取得」と同じようには使えませんので、少しだけ工夫する必要があります。

ということで、一旦「URLを取得」のアクションを削除しましょう。
「ゴミ箱アイコン」をポチッとな。

その上で、サイドバーの「Data」の棚の中から、「変数に保存」アクションをドラッグします。

何をするのかというと、取得した「記事タイトル(テキスト)」を、ちょっとだけ保存しておきます。
これからアレコレ処理をするので、忘れないようにメモっておくようなイメージです。

「変数名」「title」
「値」「ハンバーガー」ボタンを押すと出てくる「クリップ」ボタンをクリックすることで、
各アクションの「アウトプット」を選択できるようになるので、今回は一つ前の「get_text_1」を選びます。

これで、取得した記事タイトルを「title」という変数に保存することができました。

少しだけ余談ですが、
よく見ると、Robotic Crowdのワークフロー画面では、
「インプット」「アウトプット」が繋がっているのがわかりますね。

何かのアクションを設定すると、そのアクションは必ずアウトプットを作るので、
次のアクションや、その先のアクションで、そのアウトプットをインプットとして使える、という仕組みです。
なるほど、わかりやすい。

では、記事URLを取得するために、画面を遷移させましょう。

サイドバーから「クリック」アクションをドラッグして、
「CSSセレクタ」の欄に先ほどの「記事タイトルの要素」をコピペします。
ランキングページでは、タイトルをクリックすると記事ページに飛びますので、これで画面が遷移します。

……と、その前に。

インプットが変数の「store_value_1」になっていますので、
一旦「×」ボタンで消して、ブラウザの「open_browser_1」を選び直しましょう。

その上で、先ほどゴミ箱送りになった「URLを取得」アクションを、再度ドラッグします。

既に画面は遷移していますので、現在開いているページのURLが、記事のURLです。
これで取得できますね。

記事のURLも後ほど使いますので、「変数に保存」しておきましょう。
アクションをドラッグして、今取得したURLである「get_u_r_l_1」をクリップボタンで指定します。

HTML形式のテキストの作成

さてさて、データの取得は一通りできましたが、もう少しだけ頑張っておきましょうか。

最後にやっておくのは「テキストの作成」です。

今回取得したデータ「記事のタイトル」と「記事のURL」は、そのままでも使える文字列なのですが、
ホームページ上で使う場合は、「HTMLの形式」になっていると、さらに便利になります。

【加工前】
ニトリ・レディース 雷雲の接近で中断 渋野はバーディーパットで…
https://headlines.yahoo.co.jp/hl?a=20190831-00000143-spnannex-golf

【ハイパーリンク加工】
ニトリ・レディース 雷雲の接近で中断 渋野はバーディーパットで…

こんな感じ。
単に文字を並べておくより、スペースも取らないですし、クリックもできます。

では、加工していきましょう。
テキストを加工する場合は、「テキストを作成」アクションを使います。

このアクションでは、「単なる文字列」以外にも「変数」を使うことができるようになっています。

……お。そう言えば、今しがた2つほど変数を作りましたね。
この2つの変数を使っていきます。

まず、基本形はこうですね。「a」というタグを使います。

「a」と「/a」の間に入っている文字が「リンク文字」で、
「href」の後ろに書いてある部分が「リンク先のURL」です。

そこに、先ほど作った変数を割り込ませます。

少しだけ複雑なルールなのですが、
「${変数名}」という書き方をすると、実行時に自動的に変数の中身に差し替えてくれます。

「${title}」「${url}」と設定して、と。では、実行してみましょう。

よーし、無事HTML形式のテキストが作られましたね。

最後にワークフローを「保存」したら、今回は終了です!

今日はココまで

さてさて、今回はデータ取得と、HTML形式のテキストへの変換をしてみました。
だいぶ進みましたね。あとは作成したテキストを、WordPressに貼り付ければ完成です。

とは言え、まだWordPressへのログインや、更新の処理が残っています。
そのあたりをビシッと決めて、次回3回で完結させる予定です。

あくまで、予定です。

えーと、コホン。
全国のちびっ子の諸君。

大人になったら「先送り」の技術ってのが身に付くよっ!

ではでは、次回もお楽しみに〜。


一連お話で登場するRPAロボットの仕事結果は、
このサイトのサイドバー「今日のニュース」でご覧いただけますので、
サイトにお立ち寄りの際には、チェックしてやってくださいませ。毎日深夜0時にコロボ君が更新しています。