![图片[1]-n8n自动生成每日股市报告ai工作流-AI应用集](https://aiseek.oss-cn-shanghai.aliyuncs.com/2025/10/截屏2025-10-01-09.55.03-1024x575.png)
📘 工作流程文档 – 股市每日文摘

👋 简介
醒来后,您的收件箱里会收到一份简洁明了、分析师风格的股票摘要——涨跌幅最大的股票、清晰易读的业绩表、3-5 条洞察以及即将发生的事件——无需电子表格,无需手动抓取,无需复制粘贴。
本文将逐步讲解如何构建一个强大的、每日的、端到端自动化系统,该系统会收集市场数据(Bright Data),等待抓取完成,汇总结果,请求人工智能模型(OpenAI)起草一份样式化的 HTML 电子邮件,将所有内容记录到 Airtable,最后通过 Gmail 发送报告。
您将发现每个节点的友好但技术性的游览,因此您可以自信地重建或调整相同的管道。
🎯 这个工作流程适合谁?
- 想要快速、易读的每日摘要的投资者和交易者。
- 财务/产品团队构建数据驱动的警报/摘要。
- 顾问和代理机构定期发送客户更新信息。
- 自动化构建者快速制作财务运营原型。
🧰 你需要的工具
- Bright Data — 用于可靠网络数据的数据集触发器和快照。
- ** OpenAI (GPT)** — 生成专业的 HTML 摘要。
- Airtable — 存储历史记录、过滤器、仪表板的每日行。
Airtable 表示例:Daily Stocks
股票代码 | 公司 | 价格 | 改变 % | 情绪 | 日期 |
---|---|---|---|---|---|
苹果 | 苹果公司 | 225.80 | +1.4% | 🟢 积极 | 2025年9月18日 09:00 |
微软 | 微软公司 | 415.20 | -0.7% | 🔴 负面 | 2025年9月18日 09:00 |
NVDA | NVIDIA公司 | 124.55 | +2.1% | 🟢 积极 | 2025年9月18日 09:00 |
特斯拉 | 特斯拉公司 | 260.00 | -3.0% | 🔴 负面 | 2025年9月18日 09:00 |
元 | Meta Platforms 公司 | 310.45 | +0.5% | 🟡 中性 | 2025年9月18日 09:00 |
- Gmail——将最终的 HTML 电子邮件发送给利益相关者。
- n8n——协调每一步的自动化引擎。
将 API 密钥保存在 n8n凭证中(切勿硬编码秘密)。
🗺️ 架构概览
- 每天安排火灾
- 股票代码种子列表
- 每只股票拆分为一件商品
- 准备要抓取的关键字
- 启动 Bright Data工作
- 使用等待循环轮询进度
- 获取快照数据
- 为人工智能聚合
- 生成 HTML 摘要(GPT)
- 将行保存到 Airtable
- 通过 Gmail 发送电子邮件
⚙️ 一步一步——解释每个节点
⏰ 每日运行触发器(计划触发器)

目的
每天在精确的时间启动自动化,因此无需任何人按下按钮。
参数(英文)
- 触发类型:
Time Interval
或Cron
- 每个 X :(
1 Day
或您喜欢的节奏) - 时区:(
UTC
或您自己的) - 开始时间:可选(例如
09:00
)
📝 设置库存清单(设置节点 – 示例数据)
目的
定义需要监控的股票范围。这可以作为数据抓取的种子数据。
参数
- 要设置的值:
Fixed JSON (array of objects)
- 仅保留设置:
true
- 每项字段数:
ticker
,,name
(market_cap
您可以添加sector
,,isin
等)
🔀 股票拆分(拆分)
目的
将数组转换为单独的项目,以便每个股票行情机都可以独立处理(抓取、轮询、结果)。
参数
- 手术:
Split Out Items
- 要拆分的字段:上一个 Set 节点中定义的数组
🏷 准备库存关键字(设置节点)
目的
为 Bright Data 发现创建一个keyword
字段(通常等于)。ticker
参数
- 要设置的值:
Add Field
- 字段名称:
keyword
- 值:使用引用当前项目股票代码的表达式(例如
{{ $json.ticker }}
)
🕸 Bright 数据抓取工具(HTTP 请求)
目的
触发 Bright Data 数据集开始收集 的信息keyword
。返回 以便snapshot_id
稍后进行轮询。
参数
- 方法:
POST
- 端点:
https://api.brightdata.com/datasets/v1/trigger
- 身份验证:(
Authorization: Bearer <token>
标题) - 身体领域:
dataset_id
:您的 Bright Data 数据集 IDdiscover_by
: 通常keyword
keyword
:上面准备的值
在节点选项中添加 429/5xx 的重试/退避策略。
🔄 检查抓取进度(HTTP 请求)

目的
轮询 Bright Data 以查看快照是否running
为ready
。
参数
- 方法:
GET
- 端点:
https://api.brightdata.com/datasets/v1/snapshots/{snapshot_id}
- 验证:
Authorization: Bearer <token>
- 预期输出:一个
status
字段(running
,ready
)
⏳等待数据(等待节点)
目的
在进度检查之间暂停以避免速率限制并给 Bright Data 时间完成。
参数
- 模式:
Wait a fixed amount of time
- 时间:例如
30 seconds
(根据数据集大小进行调整)
🔀 刮板状态开关(开关节点)
目的
根据轮询的路由逻辑status
。
参数
- 要检查的值:
status
- 规则:
- 等于
running
→进入等待数据(然后重新检查) - 等于
ready
→ 继续获取 Scraper 结果
- 等于
循环模式:检查→等待→检查,直到
ready
。
📥 获取爬虫结果(HTTP 请求)
目的
一旦 Bright Data 标记完成,就下载完成的快照数据ready
。
参数
- 方法:
GET
- 端点:
https://api.brightdata.com/datasets/v1/snapshots/{snapshot_id}/data
- 验证:
Authorization: Bearer <token>
- 询问:
format=json
- 输出:每个股票行情的行数组(价格、变化百分比、数据集产生的任何字段)
如果需要,使用Set/Code节点规范化字段。
📊 汇总股票数据(汇总节点)
目的
将所有单个项目合并为一个合并对象,以便 AI 可以分析整个市场快照。
参数
- 模式:(
Aggregate
合并为单个项目) - 要包含的字段:
ticker
,,,,(加上任何捕获的额外name
字段)price
change
sentiment
- 输出:一个 JSON 项,包含当日股票的数组/映射
🤖 生成每日摘要(AI 节点 – OpenAI)
目的
要求模型将原始数据转换为样式化的 HTML 电子邮件:标题、主要推动者、表格、见解和(可选)即将发生的事件。
参数
- 型号:GPT-4.1
- 输入:来自前一个节点的聚合 JSON
- 提示指南:
- 仅使用内联样式输出HTML(电子邮件安全)
- 包含一个表格(股票代码、公司、带有 ↑/↓ 和颜色的百分比变化、市值、情绪图标)
- 突出显示前 2 名盈利者和前 2 名亏损者,并附上简短的理由(如有)
- 提供3-5 条见解(行业轮动、波动性、异常值)
- 添加即将发生的事件(收益、发布、宏观)
- 页脚:“由您的 AI 股票监控器自动生成”
- 输出字段:确认包含 HTML的确切属性(例如
output
,,,message
)text
🗂 保存到 Airtable(Airtable – 创建记录)
目的
将每个项目(或汇总)记录到 Airtable 中,用于历史记录、过滤和仪表板。
参数
- 手术:
Create Record
- 基本 ID:来自您的 Airtable URL
- 表格:例如,
Daily Stocks
- 字段映射:
Ticker
←{{ $json.ticker }}
Company
←{{ $json.name }}
Price
←{{ $json.price }}
Change %
←{{ $json.change }}
Sentiment
←{{ $json.sentiment }}
Date
←{{ $now.toISO() }}
使用单选
Sentiment
(🟢 / 🟡 / 🔴) 来构建干净的 Airtable 视图。
📧 通过 Gmail 发送报告(Gmail 节点)

目的
将 AI 生成的 HTML 摘要传递给您的收件人。
参数
- 手术:
Send Email
- 发送至:一个或多个收件人(例如
investor@domain.com
) - 主题:
Daily Stock Market Digest – {{ $now.format("yyyy-MM-dd") }}
- 消息(HTML):引用AI节点的HTML属性(例如
{{ $('Generate Daily Summary').first().json.output }}
) - 选项:设置附加归因至
false
(保持电子邮件清洁)
在 Gmail、Outlook 和移动设备中测试以验证内联 CSS。
🧪 错误处理和可靠性提示
- 明亮数据上的退避— 如果抓取许多股票代码,则增加等待或批量请求。
- 防止出现空结果——如果快照返回 0 行,则分支到后备电子邮件(“今天没有数据”)。
- AI 护栏——强制执行“仅限 HTML”并优雅地跳过缺失的部分。
- Airtable 规范化— 在插入之前剥离
%
、转换数字以使其浮动。 - 可观察性——添加带有运行 ID 和错误消息的最终 Slack/Email On Fail节点。
🧩 定制想法
- 行业深度研究:添加行业领域和关于行业轮换的第二个 AI 段落。
- CSV 附件:为高级用户生成并附加 CSV。
- 多个列表:针对技术、医疗保健或地区运行并行分支。
- 其他资产类别:加密货币、ETF、指数、外汇。
- 受众定位:每个受众有不同的“收件人”列表和略有不同的提示。
✅ 为什么这个工作流程如此强大
- 无需干预——报告每天都会出现。
- 分析师级——干净的 HTML、最主要的推动者、整洁的表格、可操作的见解。
- 可审计——在 Airtable 中存档的行可用于历史记录和仪表板。
- 可组合——交换抓取工具、LLM、存储或电子邮件服务。
- 可扩展——从 10 个代码开始,使用相同的循环扩展到多个列表。
暂无评论内容