きっかけ:毎日ページを開いて確認する作業
ある案件サイトの新着情報を逃したくなくて、1日に何度もページを開いて確認していました。でも当然、見ていない間に更新されることが多くて。
「これ、自動でLINEに飛んでくれればいいのに」——そう思ったのが始まりです。
手動チェックの課題
- ページを開くたびに時間がかかる
- 見ていない間に更新されて機会を逃す
- 複数サイトを見ている場合はさらに大変
- ついつい確認が習慣化してしまう
作ったもの:サイト監視 → LINE通知ツール
仕組みはシンプルです。
これだけで、ページを開いて確認する作業がゼロになりました。スマホのLINEに通知が来るので、外出先でもすぐ対応できます。
実装で工夫した2つのポイント
① 初回起動時は通知しない
普通に作ると、スクリプトを起動した瞬間にページ上の既存コンテンツが全件「新着」として通知されてしまいます。今回のケースでは40件が一気に飛んでくることになる。
そこで「初回起動時は既存の案件をすべて記録するだけで通知しない」という処理を入れました。
first_run = len(seen) == 0
if first_run:
# 今ある案件をすべて記録するだけ、通知はしない
items = fetch_requests()
for item in items:
seen.add(item["id"])
save_seen(seen)
2回目以降の起動からは、記録にない新しい案件だけを通知します。再起動しても重複通知されません。
② URLではなくIDで重複管理する
URLで管理すると、パラメータの違い(?page=1など)で同じ案件が別物として判定されて二重通知が起きることがあります。
案件のIDだけを抽出して管理することで、この問題を防いでいます。
# URLの末尾の数字(案件ID)だけを取り出す
parts = full_url.rstrip("/").split("/")
request_id = parts[-1] # 例: "4843212"
# IDが未記録の場合だけ通知
if request_id not in seen:
send_line(通知メッセージ)
seen.add(request_id)
シンプルな処理ですが、こういった細かい考慮がツールの安定性につながります。
時間の変化
| 作業内容 | 手動 | 自動化後 |
|---|---|---|
| サイト確認 | 1日5〜10回×1分 | 0分(自動) |
| 情報取得のタイムラグ | 最大数時間 | 最大5分 |
| 複数サイトの対応 | サイト数×確認時間 | 変わらず0分 |
| 1日の作業時間 | 10〜30分 | ほぼ0分 |
✓ 複数サイトを同時に監視しても工数は変わらない
1サイトでも10サイトでも、ツールが動いている限り自動でチェックし続けます。
この仕組み、こんな用途にも使えます
「サイト更新の検知」はあくまで一例です。「何かのアクションを検知してLINEに通知する」という仕組みは幅広く応用できます。
Googleカレンダーや予約フォームと連携
Gmailのキーワード・差出人で条件指定
ECサイトの新規注文をリアルタイムで把握
欲しい商品の再入荷を自動で検知
お問い合わせへの対応速度を向上
売上・アクセス数などの変化を即把握
費用について
今回の構成でかかる費用はほぼゼロです。
| 項目 | 費用 |
|---|---|
| LINE Messaging API(月200通まで) | 無料 |
| Pythonスクリプト | 無料 |
| 自分のPCで動かす場合 | 無料 |
| 24時間稼働させたい場合(VPS) | 月700円〜 |
まとめ
「何かを検知してLINEに通知する」という仕組みは、一度作ってしまえば応用が効きます。サイト更新、メール、予約、注文——日常の業務の中で「手動で確認している作業」があれば、たいていの場合は自動化できます。
手作業を減らして、本来やるべきことに時間を使いませんか。
業務の自動化、お手伝いします
「この作業、自動化できないかな?」というご相談からでも大丈夫です。
LINE通知連携、サイト監視ツール、各種API連携など、お気軽にどうぞ。
