江小二 發表於 2025-11-27 14:37:00

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

<p>大家好,我是汤师爷,分享 1000 个行业智能体案例,致力于帮助100W人用智能体创富~</p>
<p>n8n自动化工作流,正在成为AI时代最具潜力的技能之一。</p>
<p>做公众号的朋友们,是不是经常为选题发愁?</p>
<p>今天分享一个n8n工作流,只需输入关键词,系统自动帮你爬取同行的爆款文章,然后整齐保存到飞书表格里。</p>
<p>想看什么主题的爆文,可以直接快速筛选出来。</p>
<p>这套工作流我已经跑通了,100篇文章,几秒钟就能抓完,今天把保姆级教程分享给你。</p>
<h2 id="1准备工作">1.准备工作</h2>
<h3 id="11-n8n-环境准备">1.1 n8n 环境准备</h3>
<p>n8n本地安装,可以参考之前的教程。</p>
<h3 id="12-安装n8n飞书插件">1.2 安装n8n飞书插件</h3>
<p>1、打开n8n首页,点击左下角的“Settings”。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710327-1207373496.jpg"></p>
<p>2、选择“Community Nodes”。</p>
<p>3、点击“Install a community node”。</p>
<p>4、在弹出的输入框中,输入:<code>n8n-nodes-feishu-lite</code></p>
<p>5、点击“Install”</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710129-943411160.jpg"></p>
<h3 id="13-创建飞书应用">1.3 <strong>创建飞书应用</strong></h3>
<p>1、访问“飞书开放平台”(https://open.feishu.cn/),登录后进入“开发者后台”。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710398-698453700.jpg"></p>
<p>2、点击“创建企业自建应用”,取名“n8n助手”。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710270-87437534.jpg"></p>
<p>3、点击“权限管理”,点击“开通权限”。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710440-1167925587.jpg"></p>
<p>4、搜索“多维表格”,把多维表格相关的权限全部勾上,点击“确认开通”</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710520-232078177.jpg"></p>
<p>5、点击"凭证与基础信息",复制并记录 App ID 和 App Secret。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710103-1875326562.jpg"></p>
<h3 id="14-创建飞书多维表格并绑定应用">1.4 <strong>创建飞书多维表格并绑定应用</strong></h3>
<p>1、新建多维表格</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710110-286282937.jpg"></p>
<p>2、获取表格token与表格id</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710157-462281434.jpg"></p>
<p>3、点右上角“...”,选择“更多”-&gt;“添加文档应用”。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710151-2094677791.jpg"></p>
<p>4、选择“n8n助手”,权限是可编辑。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710490-562703908.jpg"></p>
<h2 id="2工作流的整体逻辑">2.工作流的整体逻辑</h2>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710399-1665725483.jpg"></p>
<p>工作流的整体逻辑:</p>
<ul>
<li>输入一个关键词(比如"n8n工作流")</li>
<li>通过三方数据服务,自动爬取N篇公众号爆款文章</li>
<li>处理公众号文章数据匹配飞书表格</li>
<li>数据自动存入飞书多维表格</li>
</ul>
<h2 id="3工作流节点拆解">3.工作流节点拆解</h2>
<h3 id="31-设置手动触发节点">3.1 设置手动触发节点</h3>
<p>这是工作流的启动按钮。</p>
<p>在n8n里,每个工作流都需要一个触发器来启动。这里我们用的是"手动触发",也就是你点一下"Execute workflow"按钮,工作流就开始运行了。</p>
<p>这个节点不需要任何配置,系统会自动添加。你只需要确保它存在就行。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710369-1909571565.jpg"></p>
<h3 id="32-设置启动变量">3.2 设置启动变量</h3>
<p>在N8N里新建工作流,添加一个“Edit Fields”节点,然后配置这5个参数:</p>
<ul>
<li>关键词:比如"n8n工作流"(你想爬什么主题就填什么)</li>
<li>页数:填2,每页有20条记录,共40条</li>
<li>极致了API:粘贴你的API Key</li>
<li>飞书表格Token:粘贴你飞书表格的Token</li>
<li>飞书表格ID:粘贴你飞书表格的ID</li>
</ul>
<p>配置完,点击"Execute step"测试一下,确保5个值都能正常输出。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710449-2088538679.jpg"></p>
<h3 id="33-code节点组装数组">3.3 Code节点:组装数组</h3>
<p>为什么需要组装数组?</p>
<p>因为"极致了"API 每次只能抓取 20 条数据。如果你想抓 40 条,就需要分 2 次请求。</p>
<p>添加一个 Code 节点,语言选择 JavaScript,然后粘贴下面这段代码:</p>
<pre><code class="language-jsx">// 获取输入数据
const inputValue = $input.first().json['页数'];

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

// 返回结果
return resultArray;
</code></pre>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710475-1318057643.jpg"></p>
<h3 id="34-loop-over-items节点启动循环">3.4 Loop Over Items节点:启动循环</h3>
<p>在 Code 节点后面,添加一个<strong>Loop Over Items</strong>节点。</p>
<p>不需要任何配置,直接关掉窗口即可。</p>
<p>系统可能会提示"可能不需要这个节点",别管它,必须保留。因为后面需要把数据线连回来,形成循环。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710443-1288867039.jpg"></p>
<h3 id="35-http-request节点调用三方数据api抓取公众号数据">3.5 HTTP Request节点:调用三方数据API抓取公众号数据</h3>
<p>这一步是整个工作流的核心,我们要通过"极致了"这个平台的API,把公众号的爆款文章数据抓取下来。</p>
<p>什么是API?简单理解,就是一个数据接口。你给它发个请求,告诉它你想要什么数据,它就把数据返回给你。</p>
<p>"极致了"这个平台专门提供公众号数据查询服务,需要先注册账号并充值才能使用。充值后,你会获得一个API Key,相当于你的身份证明。</p>
<p>添加一个HTTP Request节点,配置如下:</p>
<ul>
<li><strong>Method</strong>:POST</li>
<li><strong>URL</strong>:<code>http://api.dajiala.com/api/v3/wechat/search</code></li>
<li><strong>Headers</strong>:开启,
<ul>
<li>添加<code>Content-Type: application/json</code></li>
</ul>
</li>
</ul>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710411-496681348.jpg"></p>
<ul>
<li><strong>Body</strong>:选JSON格式,切换到<strong>表达式模式</strong>(fx)</li>
</ul>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710402-1467631625.jpg"></p>
<p>JSON输入框,粘贴这段JSON:</p>
<pre><code class="language-json">{
    "kw": "{{ $('Set').item.json['关键词'] }}",
    "sort_type": 1,
    "mode": 3,
    "period": 7,
    "page": {{ $('Loop Over Items').(http://item.json.page) }},
    "key": "{{ $('Set').item.json['极致了API'] }}"
}
</code></pre>
<ul>
<li><strong>kw</strong>(必需):关键词,支持以空格为分隔符的多词组搜索,例如:"关键词1 关键词2"</li>
<li><strong>sort_type</strong>(integer,必需):1表示按照阅读数排序,2表示按照时间排序,默认为1</li>
<li><strong>mode</strong>(integer,必需):1表示搜索标题,2表示搜索正文,3表示搜索标题和正文,默认为1(如果搜索正文,最大天数period为30,标题最大为720)</li>
<li><strong>period</strong>(integer,必需):1-7天内数据,默认为7(如果搜索正文,最大天数period为30,标题最大为720)</li>
<li><strong>page</strong>(integer,必需):页码,默认为1(页码1为获取前20位结果,页码2为获取20到40位结果)</li>
<li><strong>key</strong>(string,必需):极致了官网key,登陆极致了官网获取,记得给极致了充钱</li>
</ul>
<h3 id="36-code节点转换公众号文章数据">3.6 Code节点:转换公众号文章数据</h3>
<p>API返回的数据字段名比较复杂,需要转换成飞书表格能识别的格式。</p>
<p>再加一个Code节点,粘贴这段代码:</p>
<pre><code class="language-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;
</code></pre>
<p>这段代码完成两个任务:</p>
<ol>
<li>转义特殊字符:防止标题中的引号导致系统崩溃</li>
<li>翻译字段名:将API的字段改为飞书能识别的格式</li>
</ol>
<p>运行一次,应该能输出20条飞书表格的数据。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710323-292827666.jpg"></p>
<h3 id="37-feishu-node批量写入飞书">3.7 Feishu Node:批量写入飞书</h3>
<p>最后一步,把数据写进飞书表格。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710152-72908600.jpg"></p>
<p>添加Feishu Node节点,配置如下:</p>
<ul>
<li>Resource:多维表格</li>
<li>Operation:新增记录</li>
<li>表格Token:用表达式引用“Edit Fields”节点的值</li>
<li>表格ID:同上</li>
<li>请求体JSON:切换到表达式模式,粘贴:</li>
</ul>
<pre><code class="language-json">{
"fields": {
    "标题": "{{ $json.标题 }}",
    "文章链接": "{{ $json.文章链接 }}",
    "正文": "{{ $json.正文 }}",
    "发布时间": "{{ $json.发布时间 }}",
    "阅读量": {{ $json.阅读量 }},
    "点赞数": {{ $json.点赞数 }},
    "再看数": {{ $json.在看数 }},
    "分类": "{{ $json.分类 }}",
    "公众号名称": "{{ $json.公众号名称 }}"
}
}
</code></pre>
<p>上一步我们把数据整理成了数组格式,Feishu Node节点会自动识别,然后一次性写入20条数据,效率爆表。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710383-498494160.jpg"></p>
<h3 id="38-闭合循环">3.8 闭合循环</h3>
<p>最后,从 Feishu Lite 节点拉一根线,连回 Loop Over Items 节点,形成完整循环。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710199-1155847873.jpg"></p>
<p>保存工作流,点击"Execute workflow"。</p>
<p>打开飞书表格,40 篇文章已经全部入库。</p>
<p><img src="https://img2024.cnblogs.com/blog/2625446/202511/2625446-20251127143710390-1584574701.jpg"></p>
<h2 id="4小结">4.小结</h2>
<p>n8n工作流搭建完成后,每次寻找选题时,只需修改关键词并一键运行即可。</p>
<p>同行在写什么爆款?哪个话题最近火?</p>
<p>所有数据都在表格里,一目了然。</p>
<p>再也不用一篇篇翻公众号了。</p>
<p>如果你也想搭建这套工作流,按照步骤操作就行。</p>
<p>遇到问题,多半是 API 的 key 没填对,或者数字类型选错了。</p>
<blockquote>
<p>本文已收录于,我的技术博客:tangshiye.cn里面有,AI 学习资料,Coze 工作流,n8n 工作流,算法 Leetcode 详解,BAT 面试真题,架构设计,等干货分享。</p>
</blockquote>


</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:AI架构师汤师爷,转载请注明原文链接:https://www.cnblogs.com/tangshiye/p/19277524</p><br><br>
来源:https://www.cnblogs.com/tangshiye/p/19277524
頁: [1]
查看完整版本: n8n工作流实战:从0到1打造公众号热点选题一键采集智能体(万字图文)