4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

サイト更新確認を自動化したい PADによるスクレイピングの第一歩

Posted at

サイト更新業務を自動化.png

毎日のサイト巡回がメンドクサイ!

私はとある企業で企画部門に所属しています。部門業務の一つとして、業界動向の把握に向けた他社のリリースや業界団体Webページのチェック、および各所への情報共有を毎朝行っています。

毎日きちんと確認出来れば良いと言えばそうなのですが、急な用事で遅れたり、そもそも忘れてしまう事もあります。そして何より、更新されていないページを確認する時間を別の業務に使いたい!

という事で今回は、スクレイピングの第一歩として、Power Automate Desktopを使って巡回ページリストに記載したWebページの最終更新日を確認。併せて更新有無を部署メンバーへメール通知するフローを作成しました。

##フローで出来たこと

  • 巡回ページのURLと前回確認時の更新日を記載したExcelフォーマットを用いて、更新されたWebページのメール通知を実現しました。
  • 従来手作業で10分程度かけていたサイト巡回を自動化しました。
  • 更新されたWebページのURLを合わせて通知することも可能です。

Image from Gyazo
画像: 通知メールサンプル

フロー概要

###使用ツール

  • Power Automate Desktop(バージョン2.15.00573.21354)
  • Google Chrome
  • Microsoft Excel
  • Microsoft Office Outlook

###フロー全体像
Image from Gyazo
Image from Gyazo
Image from Gyazo

###フロー処理手順

  1. 特定フォルダ内に格納したExcelフォーマットから処理対象のWebページURLと前回確認時の更新日データを取得します。
    Image from Gyazo
    画像: Excelフォーマットサンプル

  2. 変数設定後、下記の処理をループアクションで実行します。

    1. Google ChromeでWebページURLへアクセスします。
    2. JavaScript関数でアクセスしたページの最終更新日を取得します。
    3. 分岐アクションを用いてJavaScript関数で取得したページ上の最終更新日と前回確認した更新日データを比較します。
    4. サイト更新時があった場合のみフォーマットの更新日データを上書きし、通知リストへ追加しています。
    5. URLを合わせて通知したい場合は併せてリストに登録します。
    6. ループ処理のため、変数を変更します。
  3. 処理対象すべての確認完了後、フォーマットを上書き保存します。

  4. Microsoft Office Outlookを起動し、作成した通知リストを本文へ記載の上メール送信し、完了です。

フローの改善点

動的コンテンツからの更新日取得

  • 動的コンテンツを使用したWebページを対象とした場合、最終更新日がWebページへのアクセス時点の日付データとなります。
  • JavaScript関数の document.write を使用しているため、更新日が取得できず必ず通知対象となっています。

今後の方針

今回は更新通知に留まりましたので、引き続きアウトプット部分の作成にも取り組んでいきたいと思います。
また、動的コンテンツの更新日取得についても併せて検討を続けていきます。
お気づきの点がございましたら是非ご教示下さい。

閲覧ありがとうございました!

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?