n8n保姆级教程:10分钟搭建一个自动推送新闻机器人 - 知识铺
你是不是也这样?
每天早上,第一件事就是打开网站看新闻。生怕错过一个行业大新闻。
如果我告诉你,只需要花10分钟,就能打造一个“AI新闻助理”,每天定时推送新闻消息到你的飞书群。
今天这篇文章,我就手把手带你用自动化神器 n8n,从零开始搭建一个专属的新闻监控工作流。
n8n是什么?
简单来说,n8n是一个开源的、可自托管的低代码/无代码工作流自动化工具。
你可以把各种App想象成一块块不同形状的乐高积木。而 n8n 就是那块神奇的底板,让你能把这些原本互不相干的积木,按照你的想法拼装在一起,创造出强大的自动化流程。
搭建工作流
首先我们来到n8n首页,我们一步步来操作,整个工作流就像一条流水线。 第一步:点击右上角的“创建工作流”
第一步:配置第一个节点触发器
进入这个页面之后,我们点击“+”号,开始添加第一个节点
红框内有非常多的节点,因为是自动化流程,所以需要从下面的红框内选择节点选择一个触发器
这个是节点的配置页面,配置节点的参数,比如我选择的是触发器,可以设置每天定点触发,或者隔天定点触发,根据自己的需要进行设置就可以
设置完之后,点击上面的返回画布,第一个几点就添加好了
第二步:配置第二个节点,http请求节点
我们从网站获取新闻资讯,所以需要通过http请求
左侧是输入的数据,右侧是经过这个节点处理之后输出的数据 ,节点配置参数:选择请求方法get,post等,urL将网站的网址粘贴进来
将前后两个节点连接起来,
第三步:配置第三个节点,数据处理节点
从http请求过来的数据之后,我们需要对数据进行一个处理,提取我们想要的数据,比如新闻标题,新闻链接等,配置如下。
中间用到了js代码,这个可不是我自己写的,是通过大模型生成的,描述好你的需求,让它直接帮你生成就可以了
js部分代码如下:
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/kiaXicXJs2M4dKWOu9ZDkkT83vZW3riaTezyVMSbNGWC4n7tKpmGyuN7B8ghzKibjAEfvJYAs6jZdQ5EYOLfkerGPlCvoUUGxms7/640?wx_fmt=svg&from=appmsg"></span><code><span leaf="">// 原生RSS解析和AI新闻筛选</span><br><span leaf="">try {</span><br><span leaf=""> const rssData = </span><span><span leaf="">$input</span></span><span leaf="">.item.json.data || </span><span><span leaf="">$input</span></span><span leaf="">.item.json;</span><br><span leaf=""> </span><br><span leaf=""> </span><span><span leaf="">if</span></span><span leaf=""> (!rssData) {</span><br><span leaf=""> console.log(</span><span><span leaf="">'RSS数据为空'</span></span><span leaf="">);</span><br><span leaf=""> </span><span><span leaf="">return</span></span><span leaf=""> [];</span><br><span leaf=""> }</span><br><span leaf=""> </span><br><span leaf=""> // 解析RSS XML</span><br><span leaf=""> </span><span><span leaf="">function</span></span><span leaf=""> parseRSS(xmlString) {</span><br><span leaf=""> const items = [];</span><br><span leaf=""> </span><br><span leaf=""> // 提取所有item标签</span><br><span leaf=""> const itemMatches = xmlString.match(/<item[^>]*>[\s\S]*?<\/item>/gi);</span><br><span leaf=""> </span><br><span leaf=""> </span><span><span leaf="">if</span></span><span leaf=""> (!itemMatches) {</span><br><span leaf=""> console.log(</span><span><span leaf="">'未找到RSS item'</span></span><span leaf="">);</span><br><span leaf=""> </span><span><span leaf="">return</span></span><span leaf=""> items;</span><br><span leaf=""> }</span><br></code>
第四步:配置第四个节点,聚合节点,我们需要将前面获取的数据进行一个整合输出
第五步:配置第五个节点,我们需要通过webhook的方式发送消息到飞书群聊
如何获取飞书webhook我们放在后面
Method:post
url:webhook链接
header:name:Content-Type
<span leaf=""> value:application/json</span><br>
body:json 类型
里面的json代码也可以让大模型帮忙生成,找个有推理能力的大模型即可,用豆包或者deepseek都行。
这样下面我们将所有节点进行前后连接,这个工作流就搭建起来了,
点击下方的执行工作流,这个工作流就运行起来了,没有报错的情况下,每个节点的右下角会有个√号,如何有报错的话会出现红色
第六步:定制群消息展示样式
展示什么内容,展示的样式都可以定制。我尝试了好几个样式,感觉下面这两个也不错
在最后一个节点飞书webhook的json代码块里,可以进行代码配置样式。
也可以通过大模型进行调试,告诉大模型需要一个美观漂亮的样式,让大模型帮你输出代码。
获取飞书webhook
下面我们实操如何获取飞书的webhook链接。
推送消息到飞书群聊,需要通过webhook链接,下面实操如何获取到这个链接。
创建群组,添加自定义机器人,点击右侧的设置
找到群机器人,点击群机器人
找到自定义机器人并点击
设置完头像,昵称和简介
完成之后,就获取到webhook链接了,格式如下
请求成功的话返回:
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/kiaXicXJs2M4dKWOu9ZDkkT83vZW3riaTezyVMSbNGWC4n7tKpmGyuN7B8ghzKibjAEfvJYAs6jZdQ5EYOLfkerGPlCvoUUGxms7/640?wx_fmt=svg&from=appmsg"></span><code><span leaf="">{</span><br><span leaf=""> </span><span><span leaf="">"StatusCode"</span></span><span leaf="">: 0, //冗余字段,用于兼容存量历史逻辑,不建议使用</span><br><span leaf=""> </span><span><span leaf="">"StatusMessage"</span></span><span leaf="">: </span><span><span leaf="">"success"</span></span><span leaf="">, //冗余字段,用于兼容存量历史逻辑,不建议使用</span><br><span leaf=""> </span><span><span leaf="">"code"</span></span><span leaf="">: 0,</span><br><span leaf=""> </span><span><span leaf="">"data"</span></span><span leaf="">: {},</span><br><span leaf=""> </span><span><span leaf="">"msg"</span></span><span leaf="">: </span><span><span leaf="">"success"</span></span><br><span leaf="">}</span><br></code>
请求出错的话返回:
<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/kiaXicXJs2M4dKWOu9ZDkkT83vZW3riaTezyVMSbNGWC4n7tKpmGyuN7B8ghzKibjAEfvJYAs6jZdQ5EYOLfkerGPlCvoUUGxms7/640?wx_fmt=svg&from=appmsg"></span><code><span leaf="">{</span><br><span leaf=""> </span><span><span leaf="">"code"</span></span><span leaf="">: 9499,</span><br><span leaf=""> </span><span><span leaf="">"msg"</span></span><span leaf="">: </span><span><span leaf="">"Bad Request"</span></span><span leaf="">,</span><br><span leaf=""> </span><span><span leaf="">"data"</span></span><span leaf="">: {}</span><br><span leaf="">}</span><br></code>
展望
恭喜你!现在,你拥有了一个不知疲倦、忠实可靠的新闻助理。它会每天准时为你推送行业动态。
但这,仅仅是个开始。
我刚才搭建的,是一个“简化版”的助理。而n8n最强大的地方,在于它惊人的扩展性。下面,我给你提供几个“升华版”的改造思路。
1. 升级为“全网监控专家”
现在我们只监控了一个网站,但信息源当然是越多越好。
怎么做? 你可以在第一个 HTTP Request 节点后面,再并联几个同样的节点,每个节点都填上不同网站的RSS地址。最后用一个 Merge 节点把所有新闻汇总到一起处理。这样,你的助理就能同时盯着好几个信息源,
2. 植入“AI大脑”,自动总结摘要
有时候,光看标题还不够,但原文又太长。如果能让AI自动总结成一句话摘要呢?
怎么做? 在处理数据的环节,加入一个 OpenAI 或其他大模型节点。把新闻链接或正文内容“喂”给它,然后用一句简单的指令,比如:“请帮我把这篇文章总结成不超过50字的中文摘要”。AI就能立刻返回精炼的摘要,再一起推送到飞书。
结语:你的征途,是星辰大海
这只是n8n强大能力的冰山一角。只有你想不到,没有它做不到。自动化不是为了取代人,而是为了把我们从重复的、无意义的“机器工作”中解放出来,去做更有创造力、更有价值的事情。
动手去试试吧! 亲手搭建属于你的第一个自动化工作流,感受那种掌控一切的乐趣。如果在过程中遇到任何问题,或者有更有趣的想法,欢迎在评论区和我交流。
如果你喜欢今天的内容,别忘了点赞、关注,转发,未来我会带来更多效率神器和自动化玩法!
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai/post/202510/n8n%E4%BF%9D%E5%A7%86%E7%BA%A7%E6%95%99%E7%A8%8B10%E5%88%86%E9%92%9F%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%87%AA%E5%8A%A8%E6%8E%A8%E9%80%81%E6%96%B0%E9%97%BB%E6%9C%BA%E5%99%A8%E4%BA%BA/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com