How I Built a Zero-Cost Opportunity Radar with Python and Playwright
Описание и применение
Создана простая автоматизированная система, которая собирает данные из RSS, публичных страниц, IMAP и Telegram, фильтрует их по адресу отправителя и ключевым словам, а затем отправляет одну deduplicated‑уведомление, используя Python и Playwright, без затрат на SaaS.
Задача
Need a lightweight pipeline that watches selected sources and notifies only on relevant matches, avoiding noisy dashboards and SaaS costs.
Результат
A few hundred lines of Python plus Playwright that runs on a free machine, delivering only relevant notifications and avoiding noisy logs.
Рабочий процесс
- Collect: independent watchers (RSS, public pages, IMAP, Telegram) write normalized items to a queue.
- Filter: apply rules on sender address (parsed with email.utils.parseaddr) and keyword lists; skip marketing and cap noise.
- Notify: send one message per run, deduplicated by stable ID, rate‑limited, and log a hash of the body while redacting secrets.
Доказательства
I wanted the opposite: a small, boring pipeline that watches a handful of sources I actually care about and only pings me when something matches.
Each watcher does one thing and exits. If a watcher crashes, it must not take the pipeline down.
Match the address: parseaddr(msg.get("From", ""))[1].lower()
Never send more than N notifications per run. If the cap is hit, say so in the message.
Every outbound notification gets an append‑only on‑disk log with a hash of the body, not the body itself.
- Дата записи: 2026-10-03T17:55:46.762Z