微信扫码
添加专属顾问
我要投稿
每天清晨,AI自动为你准备好公众号内容,这套技术方案让内容生产变得高效智能。 核心内容: 1. 自动化内容生成系统的技术架构与实现原理 2. Coze插件与Make工具在数据抓取和流程编排中的具体应用 3. 针对不同网站结构的定制化解析逻辑与实战案例
每天清晨打开微信公众号,看到最新的 AI 资讯、学术论文推荐、金融动态已经准时“上线”,这并不是我起得特别早,更不是有人通宵排版,而是我们在后台悄悄地跑了一套自动化链路。今天我就来分享这套技术流程的搭建原理和实操方法,希望对正在探索内容自动化的朋友们有所启发。
这一自动化方案的核心分为两个部分:Coze 插件的数据抓取能力与 Make 的流程编排能力。你可以把 Coze 当作“爬虫引擎”,而 Make 则是“流程自动执行器”,两者配合,实现了“从抓取到发布”的全链路闭环。
我们构建的是一个每日定时运行的自动内容生成系统,其流程为:
通过 Coze 插件从多个新闻网站获取当日 AI 相关的新闻;
使用 Make 中的 HTTP 模块触发插件运行;
对返回的数据进行 JSON 解析;
使用迭代器(Iterator)逐条处理新闻数据;
聚合整理为结构清晰的图文内容;
自动推送为微信公众平台草稿。
最终效果:无需人工干预,即可每日获得风格统一、结构清晰的内容草稿。
我们以两类内容为例:
第一个网站是 AI 资讯站点(https://ai-bot.cn/daily-ai-news/)
第二个网站是科技类资讯平台(https://www.ithome.com/)
两个网站页面结构不同,我们在 Coze 插件中分别定制了解析逻辑:
页面结构较为规整,所有新闻被包含在 <div class="news-list">
区块中,时间与内容并列存在。我们采用以下逻辑提取内容:
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之家内容嵌套在 <ul class="bl">
中,通过 <li>
遍历提取前五篇新闻。解析思路如下:
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 节点(如 <div data-ot="2025-04-24">
)存储了这条新闻的发布日期,通过 .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 中,我们配置了一个完整的流程,如下图所示:
这个流程包括以下模块:
对 HTTP 返回内容进行解析,提取两个数组,进入迭代器处理。
将数组拆分为单条内容,便于后续内容拼接与格式化,确保每条新闻被独立渲染。
我们使用了以下样式结构进行排版优化:即使内容是自动生成的,也力求“可读性”与“美观度”。
<div style="border: 1px solid #e0e0e0; border-radius: 10px; padding: 16px 20px; background-color: #fcfcfc;">
<h3 style="font-size: 18px; color: #1a237e; margin-bottom: 12px;">? {{paper_title}}</h3>
<p style="font-size: 14px; line-height: 1.8; text-align: justify;">{{paper_abstract}}</p>
<p style="font-size: 12px; color: #999; text-align: right;">⭐ {{paper_star}} · {{paper_date}}</p>
</div>
最后一步通过“微信公众号模块”,将生成的图文内容推送到公众号草稿箱,早上打开微信后台即可一键发布。需要注意的是,需要在微信公众号中开启开发者模式、获取apikey、设置IP白名单。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-03-25
2025-04-05
2025-04-05
2025-03-21
2025-04-14
2025-04-13
2025-04-29
2025-05-22
2025-03-30
2025-04-13