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)の「平常運転」と表示されている箇所のテキストを取ってきて、平常運転じゃないテキストが表示されている場合に通知メールを送るプログラムです。

使い方

STEP

urlを遅延情報が掲載されているYahoo路線情報のページに差し替える

コードの赤マーカーの箇所を「Yahoo路線情報」の任意の路線ページのURLに差し替えます。

STEP

recipient変数を任意のメールアドレスに変更します。

コードの赤マーカー箇所メールアドレスを、通知を受け取りたいメールアドレスに変更します。

STEP

body変数に通知メールで送ってもらいたいテキストを入力します。

body変数には通知メールを受信した際に受け取りたい本文を入力します。遅延しているかもしれない旨のメッセージと該当のYahoo路線情報のURLを入れておけば、通知が来た際にクリックして確認できます。

STEP

トリガーを使ってGASを定期実行する。

GASのトリガー機能を使って30分おきなどGASを定期実行させ、遅延が生じた際にキャッチできるようにしておきます。

さいごに

生成AIが普及してからプログラミングを使うことがパワポやエクセルを使うように一般的になってきています。

今後もGASを始めプログラミングを活かして業務効率化に取り組んでいきます!

あわせて読みたい

サービス一覧 提供させていただいている主なサービスの一覧になります。 バナーをクリックしていただくとサービスの詳細ページへ遷移します。 ウェブマーケティングについて、こちら…

あわせて読みたい

GTMでESCキーの押下をカスタムイベントとして検出する方法を解説します 今回はGoogleタグマネージャーでESCキーが押下されたことをカスタムイベントとして検出し、ESCキーが押下をトリガーにタグ発火させる方法を解説します。 【手順1 ESCキ…

あわせて読みたい

【SEO】WordPressの階層(ディレクトリ)の下に記事を投稿する方法をわかりやすく解説します ページの階層構造(ディレクトリ)をわかりやすくすることはSEOの基本の一つと言われています。しかし、ワードプレスのデフォルトの設定では階層構造の整理ができていない…

ウェブ広告の運用やアクセス解析など、ウェブマーケティングに関するお仕事のご相談は以下の公式LINEからお願いいたします。

LINEお友だち追加:ミミズク マーケティング