Yahoo路線情報のページを参照して電車に遅延があった際に通知メールを自動で送信するシステムをGAS(Google Apps Script)でプログラミングしてみました。
2024年6月現在、Yahoo路線情報の情報を二次利用することは禁止されていますので、本記事で紹介するスクリプトをそのまま使うことはできません。実用ではなく、あくまで参考として閲覧いただければと思います。
電車遅延チェッカー
こちらのコードの情報を差し替えてGASで動かすだけで、任意のメールアドレスに遅延の通知メールを受信できます。
function checkWebsiteChange() {
// スクレイピング対象のURLを指定
const url = 'https://transit.yahoo.co.jp/diainfo/263/0';
// UrlFetchAppを使ってウェブページのHTMLを取得
const response = UrlFetchApp.fetch(url);
const html = response.getContentText();
// HTMLから特定の要素を抽出(例: idが'example'の要素)
const oldContent = '平常運転';
const contentPattern = /<dt>(?:<[^>]+>)*([^<]+)<\/dt>/;
const [_, newContent] = html.match(contentPattern) || [];
// コンテンツが変更されたかチェック
if (newContent && newContent !== oldContent) {
// GmailAppを使って変更通知メールを送信
const recipient = 'example@example.com';//通知を受け取るメールアドレスを入力
const subject = '嵯峨野線遅延チェッカー';
const body = `遅延かも→https://transit.yahoo.co.jp/diainfo/263/0: ${newContent}`;
GmailApp.sendEmail(recipient, subject, body);
}
}
Yahoo路線情報ページ(大阪環状線の場合だとhttps://transit.yahoo.co.jp/diainfo/263/0)の「平常運転」と表示されている箇所のテキストを取ってきて、平常運転じゃないテキストが表示されている場合に通知メールを送るプログラムです。
使い方
コードの赤マーカーの箇所を「Yahoo路線情報」の任意の路線ページのURLに差し替えます。
コードの赤マーカー箇所メールアドレスを、通知を受け取りたいメールアドレスに変更します。
body変数には通知メールを受信した際に受け取りたい本文を入力します。遅延しているかもしれない旨のメッセージと該当のYahoo路線情報のURLを入れておけば、通知が来た際にクリックして確認できます。
GASのトリガー機能を使って30分おきなどGASを定期実行させ、遅延が生じた際にキャッチできるようにしておきます。
さいごに
生成AIが普及してからプログラミングを使うことがパワポやエクセルを使うように一般的になってきています。
今後もGASを始めプログラミングを活かして業務効率化に取り組んでいきます!
ウェブ広告の運用やアクセス解析など、ウェブマーケティングに関するお仕事のご相談は以下の公式LINEからお願いいたします。