「実際にAI・Python・LINE/メール通知まで使って、この情報レーダーを作る方法」
まず重要なのは、AIに気象情報そのものを予測させるのではなく、気象庁などの一次情報をPythonで取得 → 必要な情報だけ抽出 → AIで人間向けに要約 → LINE/メールへ通知という構成にすることです。
気象庁は防災気象情報を機械判読可能なXML形式で提供しており、2026年5月からの新しい防災気象情報に対応したXML資料も公開しています。台風情報には「全般台風情報」のXMLもあります。
まず完成形をイメージする
気象庁 │ ▼ 防災情報XML │ ▼ Python │ ┌─────┴─────┐ ▼ ▼ 地域判定 台風判定 │ │ └─────┬─────┘ ▼ AIで要約 │ ┌─────┴─────┐ ▼ ▼ LINE メール │ │ └─────┬─────┘ ▼ 「自分に必要な情報」
例えば、
🚨【防災情報レーダー】
埼玉県で大雨に関する警報が発表されました。■対象:○○市
■種類:大雨警報
■発表:○月○日 ○時○分
■注意:土砂災害・浸水詳細は気象庁公式情報を確認してください。
という通知を自動的に送るわけです。
1.最初は「AIなし」で作る
ここが非常に重要です。
いきなりAIを入れないほうがいいです。
最初に、
「気象庁 → Python → LINE」
だけを完成させます。
その後、
「Python → AI → LINE」
に発展させます。
なぜなら、AIが間違えたのか、データ取得が失敗したのか、通知が失敗したのかを切り分けられなくなるからです。
2.気象庁の情報を取得する
気象庁は防災情報XMLを提供しています。
警報・注意報には、対象区域、発表官署、警報・注意報の種類、発表・解除時刻などが含まれます。
また、台風情報にもXMLがあり、台風番号、位置、移動方向、速度、気圧、風などの情報を扱えます。
Pythonではまず、
pip install requests
を入れます。
そして基本形は、
import requests url = "取得するXMLのURL" response = requests.get(url) response.raise_for_status() xml_data = response.text print(xml_data)
です。
ここで、
「Pythonから気象情報を取得できた!」
という状態を作ります。
3.次に「自分に関係する情報」だけを抽出する
全国の情報を全部LINEに送ったら、通知が多すぎて使い物になりません。
そこで、
TARGET_AREA = "千葉県"
のように、自分が監視したい地域を設定します。
さらに、
大雨 暴風 洪水 高潮 波浪 台風
などのキーワードを設定できます。
例えば、
KEYWORDS = [ "大雨", "暴風", "洪水", "高潮", "波浪" ]
として、
if any(keyword in xml_data for keyword in KEYWORDS): print("重要情報を検出")
というところから始められます。
ただし、本番システムでは単純な文字検索だけに頼らず、XMLの構造を解析するのがおすすめです。
2026年の新しい防災気象情報ではXML電文の体系も整理されているので、長く使うなら新しい仕様を確認して実装するのが重要です。
4.「前回との差分」を検出する
ここが情報レーダーとして非常に重要です。
例えば10分おきに情報を確認するとします。
毎回、
大雨注意報があります
と通知されたら迷惑です。
そこで、
前回の状態 大雨注意報 ↓ 今回の状態 大雨警報
なら、
「変化した!」
として通知します。
つまり、
取得 ↓ 前回データと比較 ↓ 変更あり? ↓ YES 通知
です。
この仕組みを入れるだけで、かなり実用的になります。
5.LINEへ送る
LINEではMessaging APIを利用できます。
現在の公式ドキュメントでは、Messaging APIのプッシュメッセージを使ってユーザー、グループなどへ任意のタイミングでメッセージを送信できます。
例えばPythonから、
import requests CHANNEL_ACCESS_TOKEN = "あなたのトークン" USER_ID = "あなたのユーザーID" url = "https://api.line.me/v2/bot/message/push" headers = { "Content-Type": "application/json", "Authorization": f"Bearer {CHANNEL_ACCESS_TOKEN}" } data = { "to": USER_ID, "messages": [ { "type": "text", "text": "🚨 大雨警報が発表されました" } ] } response = requests.post( url, headers=headers, json=data ) print(response.status_code)
という形で送れます。
ただし、LINE側で公式アカウント・Messaging APIの設定が必要です。また、プッシュ送信には送信先についての条件があります。例えば、公式アカウントを友だち追加しているユーザーなどが対象です。
6.ここで「AI」を入れる
ここからが今回の企画の面白いところです。
Pythonが取得した生データをそのままLINEに送るのではなく、
気象庁XML ↓ Python ↓ 必要部分を抽出 ↓ AI ↓ 人間が理解しやすい文章 ↓ LINE
にします。
例えばAIへの指示を、
以下は気象庁から取得した防災情報です。
事実関係を変更せず、重要事項を日本語で簡潔に整理してください。・対象地域
・警報/注意報
・発表時刻
・災害リスク
・住民が確認すべきこと推測は禁止。データにない情報は「不明」としてください。
とします。
これが非常に重要です。
AIに「予測」させない。
AIには「整理・要約」させる。
という考え方です。
7.「AIだからこそできること」を追加する
ここから独自性が出ます。
例えば、
レベル1
「大雨警報が出ました」
だけ。
↓
レベル2
AIが、
神奈川県○○市
大雨警報
土砂災害への警戒が必要
と整理。
↓
レベル3
さらに、
【あなたへの通知】
現在地として登録している地域に大雨警報が発表されました。
今回の変更:
注意報 → 警報重要度:高
気象庁公式情報を確認してください。
というようにする。
これが、
「自分専用防災AI」
です。
8.さらに「台風専用モード」を作る
台風の場合は、
台風発生 ↓ 日本への接近可能性 ↓ 進路 ↓ 中心気圧 ↓ 最大風速 ↓ 暴風域 ↓ 大雨 ↓ 強風 ↓ 高波 ↓ 自分の地域への影響
を追跡します。
気象庁の台風情報には、位置・移動方向・速度・気圧・風などの情報が含まれています。
そこでAIに、
「今回の台風について、前回発表から何が変化したか?」
を要約させる。
これが面白い。
単なる
「台風が来ます」
ではなく、
「昨日から何が変わった?」
を教えてくれるからです。
9.「前回との比較AI」が最も面白い
例えば、
前回
台風○号
中心気圧 980hPa
北上
↓
今回
台風○号
中心気圧 965hPa
北東へ進行
するとAIが、
【変化】
・中心気圧:980hPa → 965hPa
・進行方向:北 → 北東
・勢力が強まっています※上記は取得した気象庁情報の比較です。
とする。
これなら単なるニュース通知ではありません。
「情報の変化を教えてくれるAI」
になります。
10.メール通知も作れる
メールの場合はGmail APIなどを利用できます。
GoogleのGmail APIには、指定した宛先などを含むメールを送信するsend機能があります。
例えば、
件名: 【防災レーダー】埼玉県 大雨警報 本文: ○月○日 ○時○分 埼玉県○○市で 大雨警報が発表されました。 前回: 大雨注意報 今回: 大雨警報 変更: 警戒レベルが上昇 公式情報: 気象庁
というメールを自動送信できます。
11.最終的には「24時間監視」にする
自分のパソコンを24時間つけっぱなしにする必要はありません。
最終形では、
クラウドサーバー ↓ 10分ごとに実行 ↓ 気象庁をチェック ↓ 変化を検出 ↓ AIで要約 ↓ LINE通知
にします。
例えば、
- GitHub Actions
- クラウドサーバー
- VPS
- AWS
- Google Cloud
などが候補になります。
初心者なら、最初からAWSなどに行かず、
自分のPC → 動作確認 → クラウド
の順番をおすすめします。
12.そして「台風だけ」にしない
ここが、あなたのブログ企画としてかなり面白いところです。
情報レーダーを、
防災レーダー イベントレーダー 学習レーダー 仕事レーダー 地域情報レーダー
に分けます。
例えばイベントなら、
公式サイト ↓ 更新を検出 ↓ AIが内容解析 ↓ 「参加できそう」 ↓ 通知
です。
あなたが最初に感じた、
「知らなかった。もっと早く知っていれば参加できたのに」
という問題を、AIで解決するわけです。
13.究極の形
最終的には、
INTERNET │ ┌──────────┼──────────┐ ↓ ↓ ↓ 気象 イベント ニュース │ │ │ └──────────┼──────────┘ ↓ Python ↓ 情報の整理・保存 ↓ AI ↓ 「自分に関係ある?」 ↓ ┌────────┴────────┐ ↓ ↓ 緊急 興味あり ↓ ↓ LINE メール ↓ ↓ └────────┬────────┘ ↓ 自分専用情報レーダー
となります。
これなら、ブログのテーマとしても、
「AIを使って、自分だけの情報収集システムを作る」
というシリーズにできます。
最初に作るべき「最小システム」
いきなり全部作らず、私はこの順番をおすすめします。
| 段階 | 作るもの | 難易度 |
|---|---|---|
| ① | Pythonをインストール | ★ |
| ② | 気象庁XMLを取得 | ★★ |
| ③ | 警報・注意報を抽出 | ★★ |
| ④ | 地域を絞る | ★★ |
| ⑤ | 前回との差分を保存 | ★★★ |
| ⑥ | LINE通知 | ★★★ |
| ⑦ | AIによる要約 | ★★★ |
| ⑧ | メール通知 | ★★★ |
| ⑨ | 24時間自動実行 | ★★★★ |
| ⑩ | イベント・ニュースにも拡張 | ★★★★ |
①〜⑥まで完成すれば、すでに「自分専用防災レーダー」です。
続編作るとしてどんな順番がいいか想定してみた
第1回
「知らなかった」をなくすために、AI情報レーダーを作る
第2回
気象庁の防災情報XMLをPythonで取得してみた
第3回
大雨・強風・高波だけを自動検出する
第4回
LINEに台風情報を自動通知してみた
第5回
AIに「前回から何が変わった?」を分析させる
第6回
24時間動く自分専用防災レーダーを作る
第7回
イベント情報も自動収集して「知らなかった」をなくす
第8回
AI情報レーダーを1か月運用して分かったこと