用 n8n 自动化博客同步剪藏

使用 n8n 自动化工作流监测王孟源博客更新,并将内容同步到 Notion 知识库。工作流包括 RSS 监控、数据处理和 Notion 同步,能够即时推送新回复、自动归档文章,并智能判断是追加内容还是创建新页面。Notion 的强大数据库功能和 API 支持使得自动化剪藏变得高效便捷。
用 n8n 自动化博客同步剪藏
icon
网址
type
Post
status
Published
date
Feb 11, 2026
slug
n8n-automate-blog-sync
summary
使用 n8n 自动化工作流监测王孟源博客更新,并将内容同步到 Notion 知识库。工作流包括 RSS 监控、数据处理和 Notion 同步,能够即时推送新回复、自动归档文章,并智能判断是追加内容还是创建新页面。Notion 的强大数据库功能和 API 支持使得自动化剪藏变得高效便捷。
tags
教程
工具
开发
思考
category
技术分享
内容形式
完成日期
URL
上周末折腾了一天 n8n 工作流,实现了自动监测王孟源博客更新,然后将更新内容自动同步归档到 Notion 知识库里。

起因

王孟源先生是一位物理学博士,曾在哈佛大学任教,后转入金融业工作。退休后他在台湾联合报开设博客,专注于国际政治、经济金融、科技发展等领域的深度分析。他的文章以逻辑严密、论证充分著称,评论区经常能看到高质量的讨论,有时一条评论就有几千字的深入交流。
我长期关注他的博客,但内容分散在博客上,我想做笔记或回顾时很不方便。
最初我试过手动复制到 Notion,但很快就放弃了——太繁琐,量太大,而且经常忘记。所以我希望把这个流程自动化。理想的方案是:RSS 检测到新回复,Telegram 立刻通知,同时 Notion 自动归档。如果是新文章就创建页面,如果是已有文章的新回复就追加到末尾。
使用 n8n 就可以实现这个自动化工作流。
n8n 是一个开源的工作流自动化工具,类似 Zapier 或 Make,但有几个关键优势让我选择了它:可以自己部署(数据掌握在自己手里)、完全免费、支持复杂的条件判断和循环、有丰富的 API 集成能力。更重要的是,它有可视化的节点编辑器,调试起来很直观——每个节点的输入输出都能实时查看,出了问题能马上定位。虽然也可以直接写 Python 脚本实现,但 n8n 的模块化设计和内置的错误处理、定时触发、重试机制,能省很多基础设施的工作。

工作流设计

整体流程分为三个主要部分:RSS 监控、数据处理、Notion 同步。
主流程(Mermaid 流程图):
错误处理(独立分支):

流程节点说明

1. 监测RSS源
由于王孟源先生的博客原址在台湾联合报平台上,访问速度较慢且不够稳定。热心网友搭建了镜像网站 wmyblog.site,不仅提供了更快的访问速度,还提供了 RSS 订阅源(https://wmyblog.site/rss.xml),这让自动化同步成为可能。
第一个节点就是专门用来检测 RSS 源更新的节点,每小时检查一次。如果检测到有新的回复,就会激发(trigger)整个工作流。
2. 获取更新的内容
接收到 RSS 更新后,可以用 n8n 的 HTTP Request 节点抓取网页信息,并用 HTML 节点筛选和格式化内容。
HTTP Request 节点
HTTP Request 节点是 n8n 中最常用的节点之一,用于发送 HTTP 请求获取网页内容或调用 API。在这个工作流中,它负责访问博客页面,获取完整的 HTML 源代码。对于网页抓取来说,我主要需要返回的 HTML body,它包含了页面的所有内容。
HTML 节点
HTML 节点用于从 HTML 源代码中提取特定内容,类似于网页爬虫中的解析器。它支持两种提取方式:CSS 选择器和 XPath。在这个项目中,我用 CSS 选择器提取了文章标题、正文内容和发表日期。例如,用 .article-title 提取标题,用 .article-content 提取正文。这个节点会自动处理 HTML 标签,返回纯文本或保留指定的格式,非常适合从网页中提取结构化数据。
这两个节点配合使用,就实现了 “访问网页 → 提取内容” 的完整流程,实现类似爬虫的功能,从博客页面提取四个关键信息:
  • 标题(包含分类标签,如【基础科研】)
  • 文章 URL
  • 正文内容
  • 新的回复内容
  • 发表日期
3. 查询博客是否已经剪藏到 Notion 知识库
我打造这个工作流的主要目的就是为了将博客剪藏到 Notion 知识库里。
选择 Notion 主要是因为它的数据库功能强大(支持多维度筛选、排序、多视图)、API 完善(可以实现自动化)、跨平台同步、全文搜索高效。更重要的是,Notion 的页面结构灵活,页面间可以相互链接形成知识网络,非常适合构建知识库。
Notion 现在提供非常强大的 Notion AI,挂载知识库后,可以检索知识库中的文章,提取信息回答问题,并附上来源链接,基本上可以规避 AI 的幻觉问题,而且遇到文中的专业术语(如 “JASSM 导弹”“量子霸权”),直接在知识库内提问,AI 会结合上下文给出准确解释,而不是泛泛的通用回答。
随着自动化剪藏积累的内容越来越多,知识库的价值也会增长。持续积累的结构化内容,是 AI 发挥价值的基础——这也是我选择自动化剪藏的重要原因。
在自动化同步时,有个问题需要处理:王孟源先生会时不时在旧博文下面更新回复内容和追加内容。这就需要在剪藏时先判断,RSS 的更新是一篇全新的博文,还是已有博文的新增回复。
如果不做这个判断,每次旧博文有新回复时,工作流都会把整篇博文(包括正文和所有历史评论)重新剪藏一遍,导致 Notion 中出现大量重复内容。
所以在工作流设计中,需要先查询 Notion 数据库,使用文章超链接作为唯一标识判断:
  • 如果查询有结果:说明这篇博文已经剪藏过,本次更新是新增的回复内容,应该执行“追加内容”的操作
  • 如果查询无结果:说明这是新博文或从未剪藏过的博文,应该执行“创建新页面”并且全文剪藏的操作
这样既避免了重复剪藏全文,又能确保新回复内容被完整记录。
查询 Notion 数据库节点有一个配置要点:
  • 需要开启“即使这一节点运行失败,也继续整个工作流”(Continue On Fail),这样查询无结果时也不会中断流程;
  • 还需要开启“哪怕没有查询结果也输出空数据”(Always Output Data), 即使没查到也要输出空数据,不然的话这一步完成运行,没有结果的话,整个工作流就结束了,下一步判断节点没有办法被激活。
4. IF 判断节点
如果在数据库中查询到了结果,则说明这篇博文已经剪藏过,直接把新增的回复内容“追加”到文章结尾就可以了。这个判断逻辑是很容易实现的。
难点在于,怎么在数据库中查询不到结果,而查询节点输出空数据的情况下,让判断节点做出正确的判断。
我采用的逻辑是,空数据里面没有任何可以处理的对象。那么,如果上一个节点输出的结果有内容(对象),也就是如果$('Get many database pages').item.json.id 存在(翻译一下就是,查询节点输出的结果item里JSON对象至少1个有编号id),就说明查询到了结果,反之则结果为空,也就是没有查询到结果。
5. 追加最新回复内容(查询到结果的分支)
如果文章已存在,则调用 Notion API 追加评论到页面末尾:
6. 全文剪藏博文(未查询到结果的分支)
如果文章不存在,先提取标题中的分类标签。这是唯一的自定义代码节点:
调用 Notion API 在数据库创建新页面,自动填入标题、Tags、URL、发表日期和正文:
7. Telegram 通知节点
在三个关键位置发送 Telegram 通知:
  • 获取更新的内容之后,即时推送新回复内容,方便第一时间阅读
  • 追加最新回复内容之后,通知评论已追加
  • 创建新页面全文剪藏博文之后,通知新页面已创建

最终工作流视图

n8n 工作流的视图
n8n 工作流的视图

迭代过程

这个看起来简洁的流程,其实中间也经历了推倒重来。

第一版:Notion 节点的“2000 字符限制”

一开始,我用的是 Notion 节点写入最新回复和剪藏全文,但是它有“2000 字符限制”,这个限制对于追加最新回复没什么问题,大部分回复内容都不会超长,但是如果全文剪藏就会出错。我的第一个解决方案是用 Code 节点把长评论分割成多个 paragraph blocks。于是写了两个 Code 节点:
reply2blocks(50+ 行代码):
blog2blocks(60+ 行代码):
代码写到一半时,我在想,使用 Notion API 应该可以绕过这个字符数限制。我用 Notion AI 确认了一下,2000 字符限制针对的是单个富文本对象,不是整个 paragraph block。 如果使用 Notion API 直接传递长文本,Notion 会自动处理。

第二版:简化

这样一来,能让 API 做的,就不用我自己做了。
第一个处理最新回复内容的 Code 节点删除,追加回复内容的 Notion 节点换成了 Notion API 节点(通过 HTTP Request 节点加header认证实现的)。
处理博文内容的 Code 节点简化到只剩下清理标题和提取标签、全文, 用(通过 HTTP Request 节点加header认证实现的)Notion API 节点替换原来的 Notion 节点,实现创建新页面和剪藏全文。

成果

现在这个工作流每小时自动运行,实现了:
  • 新回复即时 Telegram 通知
  • 博客文章自动归档到 Notion
  • 标题分类自动提取为 Tags
  • 智能判断追加还是创建新页面
虽然花了一天半,但一次配置好后就不用管了,对于我这种赛博小松鼠来说,还是挺省心的。
这是效果
notion image
 

推荐 Notion

Notion 是一个集笔记、数据库、项目管理于一体的全能型工作空间。它的核心优势在于灵活且强大——你可以用它来记笔记、管理任务、构建知识库,甚至搭建个人网站。
对于知识管理来说,Notion 最大的亮点是它的数据库功能。不同于传统笔记软件的文件夹结构,Notion 的数据库可以让你用多维度视图(表格、看板、日历、画廊)来组织同一批内容。比如这次我用它来归档博客文章,就可以按标签筛选、按日期排序、按分类查看,同一份内容有多种浏览方式。
更重要的是,Notion 提供了完善的 API,这让自动化非常方便容易。像这次的工作流,就是通过 Notion API 实现的自动剪藏和内容追加。这种开放性让 Notion 不仅仅是一个笔记工具,更是一个可以和其他工具联动的数据中心。
如果你也有知识管理的需求,或者想把分散在各处的信息整合到一起,不妨试试 Notion。虽然Notion AI 是收费功能,但 Notion 本身有免费版本,个人使用完全够用。
我也推荐二一老师的 Notion 课程,可以先看里面的几篇免费试读内容,了解一下 Notion。
notion image
 
上一篇
《预测之书2》读后感
下一篇
中国不搞侵略吞并就会被困死?
Loading...