ヘッドレス Chrome と Google Apps Script を利用した Web 更新通知システム
RSS が用意されていないような Web サイトを DOM 解析し、更新情報を取得します。
また、取得した値に変更があったら Slack に通知します。
- (GCE) cron で定期的に Node を実行する
- (GCE) puppeteerを用いて Web スクレイピング
- (GCE) Google Apps Script(GAS)で建てた Web サーバーに Post でスクレイピング結果を送信
- (GAS) スクレイピング結果を受け取り、履歴をスプレッドシートに登録
- (GAS) 履歴に変更があったら Slack で通知
GAS の scriptId
"scriptId": "<your_script_id>",
スプレッドシートのID, Slack 通知用の Webhook URL, Slack 通知用の チャンネル名
export const SPREAD_SHEET_ID = '1BvYBFE-XD1wpdkGq4R4jtEtVOS7_QkOVirdfYBwxyzQ';
export const SLACK_POST_URL = <your_webhook_url>;
export const SLACK_POST_CHANNEL = '#incoming-webhooks';
GAS を Webアプリとして公開したときの URL
fetch(<your_doPost_url>, {
自分のディレクトリに変更
0 * * * * node /home/howdy39/web-update-notification/src/observe-appmaker-update.js
1 * * * * node /home/howdy39/web-update-notification/src/observe-gas-update.js
2 * * * * node /home/howdy39/web-update-notification/src/observe-google-news.js
This software is released under the MIT License, see LICENSE.txt.