👍同事看了都点赞!免费的自动化 RSS 聚合推送方案

不用起服务器,不用跑定时脚本,不用定时爬网页,只需要 Amazon Lambda,和一个 webhook,就能每天早上收到最新的RSS推送啦~

这玩意看似简单,其实也很简单🤣

是的,我们今天要来干点小事儿(doge),做一个自动化 RSS 聚合推送!

起因

作为一名互联网民工,咱虽然职位不高,但关注的内容是一点都不少的:

  • GitHub Trending
  • 技术社区博主更新
  • 少数派/36kr/虎嗅精选
  • 某些小众技术博客

考虑到每天刷 RSS 太麻烦了,我寻思能不能搞个全自动的?

我想要的是:每天自动推送前一天的更新内容,然后发到企业微信中。

实现方案

我整活的技术栈:

  • Amazon Lambda:免费使用,部署简单,不用维护
  • Python :用 feedparser 解析 RSS,熟悉且轻巧
  • 企业微信 Webhook:消息推送落地方式,简单稳定
  • CloudWatch Events(EventBridge) :定时触发器,每天自动执行

你问我为什么用 Amazon Lambda?

  • 每月有 100 万次调用免费额度,且永久免费,用不完,根本用不完
  • 不用管部署,写完代码直接丢上去就完事了,非常适合这种简单的项目

那我们要怎么拿到这些免费额度呢?其实只要注册一个账号就可以了。

注册账号

先去 亚马逊云科技官网,点击右上角注册账号,关键流程如下:

  • 手机号、账单信息可以直接用国内资料填写;
  • 选择基础支持计划(无需额外开支);
  • 注册完成后等待身份验证通过,即可开始使用资源。

接下来回归我们的主线任务,继续实现我们的 RSS 聚合推送神器。

新用户可获得高达 200 美元的服务抵扣金

亚马逊云科技新用户可以免费使用亚马逊云科技免费套餐(Amazon Free Tier)。注册即可获得 100 美元的服务抵扣金,在探索关键亚马逊云科技服务时可以再额外获得最多 100 美元的服务抵扣金。使用免费计划试用亚马逊云科技服务,最长可达 6 个月,无需支付任何费用,除非您选择付费计划。付费计划允许您扩展运营并获得超过 150 项亚马逊云科技服务的访问权限。

目录结构

bash 复制代码
rss-pusher/
├── lambda_function.py   # 主逻辑
├── requirements.txt     # 依赖

代码实现

因为这个代码逻辑比较简单,所以咱就用Python来写了,方便又快捷~

python 复制代码
import datetime
import requests
import feedparser

# 企业微信 Webhook 地址
WEBHOOK_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY"

# RSS 源列表
RSS_FEEDS = [
    "https://sspai.com/feed"
]

# 昨天的时间范围
today = datetime.datetime.utcnow() + datetime.timedelta(hours=8)
yesterday = today - datetime.timedelta(days=1)

def is_yesterday(published_parsed):
    if not published_parsed:
        return False
    pub_date = datetime.datetime(*published_parsed[:6])
    return yesterday.date() <= pub_date.date() < today.date()

def lambda_handler(event, context):
    updates = []

    for url in RSS_FEEDS:
        d = feedparser.parse(url)
        for entry in d.entries:
            if is_yesterday(entry.get("published_parsed")):
                updates.append(f"🔹 [{entry.title}]({entry.link})")

    if not updates:
        print("昨日无更新,继续摸鱼")
        return

    content = "\n".join(updates)
    message = {
        "msgtype": "markdown",
        "markdown": {
            "content": f"🎯 **昨日 RSS 更新(共 {len(updates)} 条)**\n\n{content}"
        }
    }

    resp = requests.post(WEBHOOK_URL, json=message)
    print("消息发送结果:", resp.status_code, resp.text)

# 方便本地调试
if __name__ == "__main__":
    lambda_handler({}, {})

依赖列表(requirements.txt)

复制代码
requests
feedparser

部署时可以打个 zip 包上传,或者用 Amazon Lambda 层(Layer)方式管理依赖。

本地调试:

sh 复制代码
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 test.py

创建 Lambda 函数

我们需要把项目代码进行上传:

  1. 进入 Lambda 服务控制台,点击 "创建函数" (Create function) 。
  2. 选择 "从头开始创作" (Author from scratch) 。
  3. 函数名称 (Function name): 填写 RSS-Aggregator-Function,其实你随便填也没事。
  4. 运行时 (Runtime): 选择 Python 3.9 或更高版本。
  5. 架构 (Architecture): 保持默认的 x86_64。
  6. 点击 "创建函数" 。

创建成功!

设置定时触发器

最后一步,我们需要让这个函数自动运行。

  1. 在 Lambda 函数页面,点击 "添加触发器" (Add trigger) 。
  2. 在下拉菜单中选择 EventBridge (or CloudWatch Events) 。
  3. 选择 "创建新规则" (Create a new rule) 。
  4. 规则名称 (Rule name): 填写 RSS-Hourly-Trigger,其实你随便填也没事。
  5. 计划表达式 (Schedule expression): 选择 "速率" (rate) ,然后输入 1 和 day,表示每天执行一次。你也可以使用 Cron 表达式进行更精细的控制。
  6. 点击 "添加" (Add) 。

至此,整个系统已经搭建完成!

效果展示

尾声

方案优点:

  • 不需要服务器、不用起定时任务
  • 全自动、稳定、高扩展性(你可以自己改成 Telegram、钉钉、邮箱)
  • 免费使用,无需维护

需要注意的是,有些RSS源不规范,最好先在本地进行调试下,没问题了再部署上去。

如果你也想过"每天自动看资讯",又懒得手动刷RSS的话,不如试试这个自动化组合拳。

技术活干得漂亮,推送内容也能顺便炫一波,岂不美哉?

友情提示:如果用完了之后不再需要使用服务的话,记得要在控制台关闭服务,以防超过免费额度产生扣费

相关推荐
程序猿DD4 小时前
OctaFuse Gateway 2.15.0:MCP 聚合、向量 Embeddings 与官方目录同步
后端·agent
余槐i6 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
需要8266 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
凤山老林8 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
伯恩bourne9 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
张彦峰ZYF9 小时前
停顿短不等于延迟低:G1、ZGC 与低延迟服务的目标分野、代价账本与选型标定
后端·回收暂停、应用停止总时长·到达安全点、分配停滞·屏障吃吞吐、并发线程吃核心·并发窗口吃堆余量·分区式靠挑回收集兑现目标·染色指针式不支持压缩引用
pride.li9 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
upala10 小时前
【仓颉语言入门 · 第二篇 第 6 课】
后端
罗丹丹Luna10 小时前
移动端显示“已提交”以后:SAP 与低代码集成该怎样暴露真实状态
后端·架构
码事漫谈10 小时前
因为太想讨好你,所以AI会骗你
后端