住宅情報など、日々更新される特定の情報をキャッチアップすることは重要ですが、情報ソースを巡回するのは非効率的です。
そのため、毎日必ず確認するツール(今回はGmail)へ、Google Apps Script (GAS) を利用してRSSフィードを自動配信するプログラムを作成しました。
以下の要件です。
- 目的 住宅情報サイト(今回は、https://www.housenews.jp/ )の更新を検知
- 手段 Gmailにて情報の一元管理
- コスト 無料(GASの実行環境を利用)
- 運用 定期的な自動配信
◎ システムの設計と技術的要素
本システムの機能は、
「RSSフィードの取得・解析」
「新着記事の判定」
「HTMLメールの生成・送信」
から構成されます。
処理フローの概要
- 定期実行
- GASのタイムドリブントリガー(例 毎日午前9時)により 主関数が起動されます。
- フィード取得
UrlFetchApp.fetch
により指定されたRSSフィード(XML)を取得します。
- 新着判定
XmlService.parse
でXMLを解析し、記事一覧(<item>
要素)を取得します。- Script Properties に保存されている前回送信済みリンク一覧と照合し、重複していない記事のみを新着記事として抽出します。
- メール配信
- 新着記事がある場合、記事情報から体裁を整えたHTMLメール本文を生成し、メールの配信します。
- 新着記事がない場合も、動作確認のため「新着なし」の旨を通知するメールを送信します。
- 履歴更新
- 配信後、最新のRSS記事リンクをScript Propertiesに保存し、次回の実行に備えます。