每天早上喝咖啡时,你的公众号内容已经自动生成了!
每天清晨,AI自动为你准备好公众号内容,这套技术方案让内容生产变得高效智能。核心内容:1. 自动化内容生成系统的技术架构与实现原理2. Coze插件与Make工具在数据抓取和流程编排中的具体应用3. 针对不同网站结构的定制化解析逻辑与实战案例

每天清晨打开微信公众号,看到最新的 AI 资讯、学术论文推荐、金融动态已经准时“上线”——这既不是起得特别早,也不是有人通宵排版,而是后台悄悄跑了一套自动化链路。今天就来分享这套技术流程的搭建原理和实操方法,希望对正在探索内容自动化的朋友们有所启发。
这套自动化方案的核心分为两个部分:
Coze 插件的数据抓取能力
Make 的流程编排能力
一、方案概览
我们构建的是一个每日定时运行的自动内容生成系统,其流程为:
- 通过 Coze 插件从多个新闻网站获取当日 AI 相关的新闻;
- 使用 Make 中的 HTTP 模块触发插件运行;
- 对返回的数据进行 JSON 解析;
- 使用迭代器(Iterator)逐条处理新闻数据;
- 聚合整理为结构清晰的图文内容;
- 自动推送为微信公众平台草稿。
最终效果:无需人工干预,即可每日获得风格统一、结构清晰的内容草稿。
二、爬虫插件设计:用结构化视角解析新闻网站
以两类内容为例:
- 第一个网站是 AI 资讯站点(https://ai-bot.cn/daily-ai-news/)
- 第二个网站是科技类资讯平台(https://www.ithome.com/)
两个网站页面结构不同,在 Coze 插件中需要分别定制解析逻辑。
网站一:AI-Bot 新闻结构分析
页面结构较为规整,所有新闻被包含在 区块中,时间与内容并列存在。提取逻辑如下:
const newsNodes = document.querySelectorAll(".news-list li");
const todayDate = new Date().toISOString().split('T')[0];
const latestNews = [];
for (let i = 0; i < newsNodes.length && latestNews.length < 3; i++) {
const node = newsNodes[i];
const dateAttr = node.querySelector("div")?.getAttribute("data-ot");
if (dateAttr && dateAttr.includes(todayDate)) {
const text = node.textContent.trim().replace(/\s+/g, " ");
latestNews.push({ paper_title: text, paper_date: todayDate, paper_star: "自动抓取", paper_abstract: "" });
}
}
return latestNews;
网站二:IT之家首页解析逻辑
IT之家内容嵌套在 中,通过 遍历提取前五篇新闻。解析思路如下:
const hotList = [];
const listItems = document.querySelectorAll("ul.bl li");
for (let i = 0; i < listItems.length && hotList.length < 5; i++) {
const title = listItems[i].querySelector("h3")?.textContent?.trim();
if (title) {
hotList.push({ paper_title: title, paper_date: todayDate, paper_star: "热榜", paper_abstract: "" });
}
}
return hotList;
新闻爬取:如何判断“今天”的新闻
const todayDate = new Date().toISOString().split('T')[0]; // 获取今天日期,格式如 "2025-04-24"
const dateAttr = node.querySelector("div")?.getAttribute("data-ot");
if (dateAttr && dateAttr.includes(todayDate)) {
// 仅当新闻块中的 data-ot 属性包含今天日期,才视为“今日新闻”
...
}
思路解析:
new Date().toISOString()生成当前时间的 ISO 格式字符串,结果形如:"2025-04-24T08:36:20.123Z"。.split('T')[0]提取T字符前的日期部分,也就是"2025-04-24"。- 假设网页中的某个 DOM 节点(如
)存储了这条新闻的发布日期,通过.getAttribute("data-ot")获取该字段。 - 使用
.includes(todayDate)判断该日期字符串是否为“今天”的,如果是,就将这条新闻加入到结果列表。
这个逻辑的核心价值在于:
不依赖网页上可见的“发布日期文字”,而是提取结构化数据(属性值)进行判断,更可靠。
插件输出示例:
{
"today_date": "2025-04-24",
"LatestPaper_list": [
{"paper_title": "OpenAI 发布 GPT-5 原型", "paper_abstract": "GPT-5 在语言理解与生成任务中取得了突破性进展……", "paper_date": "2025-04-24"},
...
],
"HotPaper_list": [
{"paper_title": "百度发布大模型产业应用白皮书", "paper_abstract": "白皮书详细阐述了大模型在工业、金融等领域的落地成果……", "paper_date": "2025-04-23"},
...
]
}
三、Make 平台流程拆解:五个节点完成自动化
在 Make 中,配置了一个完整的流程,如下图所示:
这个流程包括以下模块:
节点一:HTTP 请求
使用 HTTP 模块访问 Coze 插件,需要在coze开发者手册中查找填写方法。
节点二:JSON 解析
对 HTTP 返回内容进行解析,提取两个数组,进入迭代器处理。
节点三:迭代器
将数组拆分为单条内容,便于后续内容拼接与格式化,确保每条新闻被独立渲染。
节点四:文本聚合器 + 样式美化
使用以下样式结构进行排版优化:即使内容是自动生成的,也力求“可读性”与“美观度”。
? {{paper_title}}
{{paper_abstract}}
⭐ {{paper_star}} · {{paper_date}}
节点五:微信公众号草稿推送
最后一步通过“微信公众号模块”,将生成的图文内容推送到公众号草稿箱,早上打开微信后台即可一键发布。需要注意的是,需要在微信公众号中开启开发者模式、获取apikey、设置IP白名单。