n8n工作流实战:从0到1打造公众号热点选题一键采集智能体(万字图文)

大家好,我是汤师爷,分享 1000 个行业智能体案例,致力于帮助100W人用智能体创富~

n8n自动化工作流,正在成为AI时代最具潜力的技能之一。

做公众号的朋友们,是不是经常为选题发愁?

今天分享一个n8n工作流,只需输入关键词,系统自动帮你爬取同行的爆款文章,然后整齐保存到飞书表格里。

想看什么主题的爆文,可以直接快速筛选出来。

这套工作流我已经跑通了,100篇文章,几秒钟就能抓完,今天把保姆级教程分享给你。

1.准备工作

1.1 n8n 环境准备

n8n本地安装,可以参考之前的教程。

1.2 安装n8n飞书插件

1、打开n8n首页,点击左下角的"Settings"。

2、选择"Community Nodes"。

3、点击"Install a community node"。

4、在弹出的输入框中,输入:n8n-nodes-feishu-lite

5、点击"Install"

1.3 创建飞书应用

1、访问"飞书开放平台"(https://open.feishu.cn/),登录后进入"开发者后台"。

2、点击"创建企业自建应用",取名"n8n助手"。

3、点击"权限管理",点击"开通权限"。

4、搜索"多维表格",把多维表格相关的权限全部勾上,点击"确认开通"

5、点击"凭证与基础信息",复制并记录 App ID 和 App Secret。

1.4 创建飞书多维表格并绑定应用

1、新建多维表格

2、获取表格token与表格id

3、点右上角"...",选择"更多"->"添加文档应用"。

4、选择"n8n助手",权限是可编辑。

2.工作流的整体逻辑

工作流的整体逻辑:

  • 输入一个关键词(比如"n8n工作流")
  • 通过三方数据服务,自动爬取N篇公众号爆款文章
  • 处理公众号文章数据匹配飞书表格
  • 数据自动存入飞书多维表格

3.工作流节点拆解

3.1 设置手动触发节点

这是工作流的启动按钮。

在n8n里,每个工作流都需要一个触发器来启动。这里我们用的是"手动触发",也就是你点一下"Execute workflow"按钮,工作流就开始运行了。

这个节点不需要任何配置,系统会自动添加。你只需要确保它存在就行。

3.2 设置启动变量

在N8N里新建工作流,添加一个"Edit Fields"节点,然后配置这5个参数:

  • 关键词:比如"n8n工作流"(你想爬什么主题就填什么)
  • 页数:填2,每页有20条记录,共40条
  • 极致了API:粘贴你的API Key
  • 飞书表格Token:粘贴你飞书表格的Token
  • 飞书表格ID:粘贴你飞书表格的ID

配置完,点击"Execute step"测试一下,确保5个值都能正常输出。

3.3 Code节点:组装数组

为什么需要组装数组?

因为"极致了"API 每次只能抓取 20 条数据。如果你想抓 40 条,就需要分 2 次请求。

添加一个 Code 节点,语言选择 JavaScript,然后粘贴下面这段代码:

jsx 复制代码
// 获取输入数据
const inputValue = $input.first().json['页数'];

// 生成从1到输入值的数组
const resultArray = [];
for (let i = 1; i <= inputValue; i++) {
  resultArray.push({
    page : i
  });
}

// 返回结果
return resultArray;

3.4 Loop Over Items节点:启动循环

在 Code 节点后面,添加一个Loop Over Items节点。

不需要任何配置,直接关掉窗口即可。

系统可能会提示"可能不需要这个节点",别管它,必须保留。因为后面需要把数据线连回来,形成循环。

3.5 HTTP Request节点:调用三方数据API抓取公众号数据

这一步是整个工作流的核心,我们要通过"极致了"这个平台的API,把公众号的爆款文章数据抓取下来。

什么是API?简单理解,就是一个数据接口。你给它发个请求,告诉它你想要什么数据,它就把数据返回给你。

"极致了"这个平台专门提供公众号数据查询服务,需要先注册账号并充值才能使用。充值后,你会获得一个API Key,相当于你的身份证明。

添加一个HTTP Request节点,配置如下:

JSON输入框,粘贴这段JSON:

json 复制代码
{
    "kw": "{{ $('Set').item.json['关键词'] }}",
    "sort_type": 1,
    "mode": 3,
    "period": 7,
    "page": {{ $('Loop Over Items').[item.json.page](http://item.json.page) }},
    "key": "{{ $('Set').item.json['极致了API'] }}"
}
  • kw(必需):关键词,支持以空格为分隔符的多词组搜索,例如:"关键词1 关键词2"
  • sort_type(integer,必需):1表示按照阅读数排序,2表示按照时间排序,默认为1
  • mode(integer,必需):1表示搜索标题,2表示搜索正文,3表示搜索标题和正文,默认为1(如果搜索正文,最大天数period为30,标题最大为720)
  • period(integer,必需):1-7天内数据,默认为7(如果搜索正文,最大天数period为30,标题最大为720)
  • page(integer,必需):页码,默认为1(页码1为获取前20位结果,页码2为获取20到40位结果)
  • key(string,必需):极致了官网key,登陆极致了官网获取,记得给极致了充钱

3.6 Code节点:转换公众号文章数据

API返回的数据字段名比较复杂,需要转换成飞书表格能识别的格式。

再加一个Code节点,粘贴这段代码:

jsx 复制代码
function escapeJSON(str) {
  if (typeof str !== 'string' || str === null) {
    return str; 
  }
  return str.replace(/\\/g, '\\\\')  // 1. 转义反斜杠
            .replace(/"/g, '\\"')   // 2. 转义双引号 (这就是害您崩溃的元凶!)
            .replace(/\n/g, '\\n')   // 3. 转义换行符
            .replace(/\r/g, '\\r')   // 4. 转义回车符
            .replace(/\t/g, '\\t');  // 5. 转义制表符
}

const articles = $input.first().json.data;
const formattedData = [];

for (const article of articles) {
  
  const newItem = {
    "标题": escapeJSON(article.title),
    "文章链接": escapeJSON(article.url),
    "正文": escapeJSON(article.content),
    "发布时间": escapeJSON(article.publish_time_str),
    "公众号名称": escapeJSON(article.wx_name),
    "分类": escapeJSON(article.classify),
    
    "阅读量": Number(article.read) || 0,
    "点赞数": Number(article.praise) || 0,
    "在看数": Number(article.looking) || 0
  };
  
  formattedData.push(newItem);
}

return formattedData;

这段代码完成两个任务:

  1. 转义特殊字符:防止标题中的引号导致系统崩溃
  2. 翻译字段名:将API的字段改为飞书能识别的格式

运行一次,应该能输出20条飞书表格的数据。

3.7 Feishu Node:批量写入飞书

最后一步,把数据写进飞书表格。

添加Feishu Node节点,配置如下:

  • Resource:多维表格
  • Operation:新增记录
  • 表格Token:用表达式引用"Edit Fields"节点的值
  • 表格ID:同上
  • 请求体JSON:切换到表达式模式,粘贴:
json 复制代码
{
  "fields": {
    "标题": "{{ $json.标题 }}",
    "文章链接": "{{ $json.文章链接 }}",
    "正文": "{{ $json.正文 }}",
    "发布时间": "{{ $json.发布时间 }}",
    "阅读量": {{ $json.阅读量 }},
    "点赞数": {{ $json.点赞数 }},
    "再看数": {{ $json.在看数 }},
    "分类": "{{ $json.分类 }}",
    "公众号名称": "{{ $json.公众号名称 }}"
  }
}

上一步我们把数据整理成了数组格式,Feishu Node节点会自动识别,然后一次性写入20条数据,效率爆表。

3.8 闭合循环

最后,从 Feishu Lite 节点拉一根线,连回 Loop Over Items 节点,形成完整循环。

保存工作流,点击"Execute workflow"。

打开飞书表格,40 篇文章已经全部入库。

4.小结

n8n工作流搭建完成后,每次寻找选题时,只需修改关键词并一键运行即可。

同行在写什么爆款?哪个话题最近火?

所有数据都在表格里,一目了然。

再也不用一篇篇翻公众号了。

如果你也想搭建这套工作流,按照步骤操作就行。

遇到问题,多半是 API 的 key 没填对,或者数字类型选错了。

本文已收录于,我的技术博客:tangshiye.cn 里面有,AI 学习资料,Coze 工作流,n8n 工作流,算法 Leetcode 详解,BAT 面试真题,架构设计,等干货分享。