はじめに
必要な情報を効率よく収集し、定期的にキャッチアップすることは、企業活動やプロジェクト運営に欠かせない作業の一つです。
例えば、あるサイトの内容を自動で読み取って要約したり、必要なデータの収集まで行ってくれる仕組みがあれば、多忙な業務の中でもタイムパフォーマンスを向上させることができます。
昨今では自動化フローにAIを組み込むことで、さまざまな処理を効率化することが一般的になっていますが、ChatGPT(OpenAIのAPI経由)は指定の外部サイトへのアクセスやスクレイピング機能を備えていません。プロンプトでURLを指定しても見に行ってくれないのです。
そのため、指定のリンク先を読みに行きデータを取得する処理については、何らかの外部ツールで実装しなければなりませんが、実はWorkatoのある機能を利用することで実現できます。
本記事では実装方法と、AIとを掛け合わせた活用ケースについてご紹介します。
使用するアクション
「File tools by Workato」コネクタの、「Get file from URL」アクションを使用します。
ファイルをダウンロードするための機能ですが、要は指定されたリンク先の情報を取得するものです。ファイルのURLの代わりにWebサイトのURLを与えることでWebページの読み込みが可能です。
本来の使い方(ファイルのダウンロード)については、以下の記事が参考になります。
Webページを読み込むことができるとお伝えしましたが、以下の点に注意が必要です。
向いていないケース
-
ログインや認証が必要なページ
認証情報が必要なページにはアクセスできません。 -
JavaScriptによって動的に生成されるページ
JavaScriptなどのクライアントサイドスクリプトによってコンテンツが動的に生成されるページには対応していません。 -
複数ページにわたるコンテンツ
ページ送りができないため、複数ページにまたがる情報の読み込みには対応していません。先頭ページのテキストのみが読み込まれ、不完全なデータとなる場合があります。
これらのケースの実現には、RPAやSeleniumなどを使ったスクレイピング技術が必要です。
向いているケース
したがって、当アクションを使う際は内容が1ページに収まった静的なページを対象として、効率的にWebデータを抽出することを推奨します。
使い方
Webページの読み込みに続けて、読み込んだデータをデコードする処理も併せて実装します。
1. Webページを読み込む
2. 読み込んだデータをデコードする
活用例①:リンク先を要約する
RSSやAtomで配信されたフィードの新着記事を読み込み、その要約をSlackで通知するレシピです。
記事のURLをクリックして全文を読まなくても、概要が把握できます。
例)競合企業のニュースリリースなどのモニタリング
▼読込対象の記事
▼Workatoで投稿されたメッセージ
レシピ
処理の詳細
各Stepの詳細はこちら(折りたたまれています)
活用例②:特定のWebページを監視する
新着情報を把握する方法としてはRSSやメールマガジン配信サービスを利用するのが一般的ですが、サイトによってはRSSが提供されていない場合や、配信される内容が業務上必要な情報に十分対応していない場合もあります。
「このページの、ここが変わったら知りたいんだよな」というピンポイントなニーズに応える一例として紹介します。
対象のページ
日本銀行HPの下記ページでは、データ系列数が多量にのぼる統計(物価統計、資金循環統計、短観、国際収支統計、BIS関連統計)について、一括ダウンロードが可能となっています。
いくつかのテーブルに分かれ、「統計の名称」と「最終更新日付」が記載されているのが特徴的です。
実行結果
上記Webページで前日に更新された統計をピックアップして通知する処理をWorkatoで構築すると、次のような通知が届きます。
▼対象データ
(実行日が2024年12月12日の場合、12月11日に更新されたデータが該当します)
レシピ
処理の詳細
各Stepの詳細はこちら(折りたたまれています)
※format_map
formulaの使い方については、下記の記事で紹介しています。
補足
Step4では、AIの力を借りて必要なデータを難なく構造化しています。
新しく統計テーブルが追加されたり、ページの構成に多少の変更があった場合でも対応できる柔軟性があり、AIの恩恵を実感できる部分ですね。