How I Built a Zero-Cost Opportunity Radar with Python and Playwright
说明与用途
使用Python和Playwright构建的轻量级自动化管道,从RSS、公共页面、IMAP和Telegram收集数据,按发件人地址和关键词过滤,并发送单个去重通知,全部在免费机器上运行。
问题
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