likes
comments
collection
share

Notion 管理 RSS 订阅与过滤

作者站长头像
站长
· 阅读数 41

Notion 管理 RSS 订阅与过滤

基于 GitHub Actions 托管&定时运行 Python 脚本,通过 Notion API 读取 Database 中管理的 RSS 源与关键词列表,将匹配的更新条目保存回 Notion Database,同时触发 Webhook 向 Bot 发送消息提示。

项目地址:赛博传达室老大爷 (github.com)

功能说明

  • 在 Notion Database 中管理 RSS 源、过滤关键词、保存摘要;
  • 通过 GitHub Actions 定时自动读取 RSS 源 - 过滤 - 保存;
  • 通过 Webhook 向飞书 🤖 发送通知;

关于过滤规则

虽然 RSS 是来自于主动订阅,但并不代表全部都是”有用信息“,特别是对于订阅学术期刊、官方新闻一类的需求,可能只是对特定关键词感兴趣,这时就需要对特定信息进行过滤,如 Feedly 平台就提供了智能过滤的解决方案 Leo。

Notion 管理 RSS 订阅与过滤

当前的脚本中做了两类简单过滤:

  • 白名单:在 RSS 源 Database 中设置,白名单的源不会被过滤;
  • 关键词:在 关键词 Database 中设置,仅当 Title + Summary 中出现关键词的内容才会被保存;

如果要进一步扩展,在 阅读 Database 中设置了 Entropy 的数值,通过 来判定一篇文章的信息量,而信息量是与个人的知识经验和偏好相关的,Entropy 的计算需要积累一定数据标签后进行学习训练。

配置脚本

  1. Notion 开通 Internal integration,并保存 Internal Integration Token (NOTION_SEC

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

  1. 复制 Database 模板,并开放权限给上面开通的 Internal integration

Notion Database Template

Database 的 properties 非常重要

  1. Fork GitHub 项目:github.com/rainyear/ch…

  2. 设置 GitHub Secrets

    • NOTION_SEC 为 Notion Token;
    • 【可选】FEISHU_BOT_SEC 为自己定义的密码;
    • 【可选】FEISHU_BOT_API 为 Webhook 地址;

Notion 管理 RSS 订阅与过滤

5.【可选】设置飞书机器人,在 chuandashi/main.py at main · rainyear/chuandashi (github.com) 中修改:

APP_ID = "飞书 APP ID" 
APP_SEC = "飞书 APP SEC" 
API_PASS = " 和 GITHUB SEC 一致" 
CHAT_ID = " 如何获取消息 ID"

飞书可能是不需要 VPN 的情况下对于 🤖 的支持最友好的方案,绑定机器人 URL ,可以在飞书客户端发送消息给机器人,即可在服务端看到 chat_id

Notion 管理 RSS 订阅与过滤

定时运行

在 GitHub 项目中的 .github/workflows/main.yml 设置定时执行的 Schedule,如 每天下午 2:00 执行,东 8 区 14:00 对应 UTC 6 点,所以 cron 设置为:

on:
  schedule:
    - cron: "0 6 * * *"

如果有新的订阅内容(白名单或匹配关键词),则会收到飞书提醒:

Notion 管理 RSS 订阅与过滤


【原文链接:RSS 2 Notion (cybrain.xyz)

转载自:https://juejin.cn/post/7037137946893352973
评论
请登录