无 RSS 新闻站自动抓取与 AI 摘要
定时触发 → 抓取列表页提取链接与日期 → 筛选近期文章 → 逐篇获取正文 → GPT-4 生成摘要与关键词 → 存入 NocoDB
- 给谁
- 需要监控无 RSS 新闻站、定期汇总技术动态的内容运营者或市场研究人员
- 你会得到
- 每周自动抓取最新新闻,生成 70 词内摘要和 3 个技术关键词,结构化存入数据库
- 你需要
- n8n
硬约束
前置条件:n8n 实例;OpenAI API 账户(非普通 ChatGPT 账户);NocoDB 数据库及 API Token。需具备基础 CSS 选择器知识以适配目标网站。注意:源码中日期筛选为可配置值(示例含 -70 天),需与定时触发周期同步;CSS 选择器因站而异必须自行调整。
他们做了什么
作者 askans 为监控 Colt 公司无 RSS 的新闻页面,创建了此 n8n 模板。工作流每周定时触发,先抓取列表页提取所有文章链接和日期,筛选近期文章后逐篇获取详情页,调用 GPT-4-1106-preview 并行生成 70 词摘要和 3 个技术关键词,最终结构化存入 NocoDB 数据库。
效果如何
模板在 n8n.io 发布,展示完整节点连接与参数配置。作者报告核心流程可运行,同时提醒需根据目标网站调整 CSS 选择器,且并非所有网站都允许高频抓取(author_report)。
值得知道
1) 源码中日期筛选默认使用 -70 天(注释说明可改),但描述写 last 7 days,实际使用时必须与 cron 周期同步修改;2) CSS 选择器完全依赖目标网站 DOM 结构,换站必须重新获取;3) NocoDB 的 projectId、table ID 为示例值,必须替换为自己的数据库;4) 需要 OpenAI API 账户(非 ChatGPT Plus 订阅);5) 无内置错误处理或请求频率限制,生产环境建议添加;6) 输出目标可替换为邮件、Excel 等,不仅限于 NocoDB。
n8n 工作流模板
结构已检查 · 未实际运行下载后在 n8n 选择“Import from File”,或复制 JSON 后粘贴到编辑器。先配置自己的账号,再用测试数据运行;模板默认未启用。
配置与测试清单
需要绑定的凭证
- Summary 节点:绑定OpenAI API 凭证。
- Keywords 节点:绑定OpenAI API 凭证。
- NocoDB news database 节点:绑定nocoDbApiToken 凭证。
需要替换的配置
- 源模板来自 n8n 公开库 #2180(约 36 个节点)。导入后先保持未启用,核对触发器、表达式与外部 API 端点。
- Sticky Note 中的说明仅供参考;按自己的账号、表结构或频道 ID 替换占位配置。
测试输入与预期结果
- 在测试环境手动执行一次主路径,确认每个需凭证的节点已连接且无鉴权错误。
- 用一条合成/脱敏样例数据跑通,核对输出字段与下游写入目标,再考虑生产启用。
模板处理说明
- 已移除原作者凭证绑定、webhookId 与执行数据,工作流设为未启用;节点、连线与原文提示词保持原样。未在 n8n 中实际运行。
- 未改业务逻辑;运行前请自行核对密钥、配额与隐私合规。
模板获取日期: 2026-10-25
步骤
配置定时触发与目标网站
在 n8n 中添加 Schedule Trigger 节点,设置为每周运行(如周三 04:32)。添加 HTTP Request 节点,输入目标新闻列表页 URL(示例为 https://www.colt.net/resources/type/news/),响应格式设为 text。
提取文章链接与发布日期
使用 HTML 节点从列表页 HTML 中提取:1) 文章链接(通过 CSS 选择器定位 a 标签的 href 属性,returnArray=true);2) 发布日期(通过独立 CSS 选择器提取日期文本,returnArray=true)。随后各用 Item Lists 节点将数组拆分为独立 JSON 项(字段名分别设为 Link 和 Date)。
合并并筛选近期文章
用 Merge 节点将链接项与日期项按位置合并。添加 Code 节点执行 JavaScript 过滤:计算当前日期与回溯天数(如 7 天,需与 cron 周期同步),保留 Date 字段在范围内的文章。
运行提示词 · 来源原文。Code 节点 jsCode 字段
const currentDate = new Date(); const sevenDaysAgo = new Date(currentDate.setDate(currentDate.getDate() - 70)); // Change the number of days going back to your liking (e.g. from -7 to -1) -> BUT sync with the cron job (first node) const filteredItems = items.filter(item => { const postDate = new Date(item.json["Date"]); // Assuming "Date" is the field name in the extracted html return postDate >= sevenDaysAgo; }); return filteredItems;逐篇抓取并提取正文
对筛选后的每篇文章,HTTP Request 节点以 {{ $json["Link"] }} 为 URL 获取详情页 HTML。用 HTML 节点提取标题(如 h1.fl-heading > span:nth-child(1))和正文内容(如 .fl-node-5c7574ae7d5c6 > div:nth-child(1)),通过 Merge 节点将标题、正文与日期、链接合并。
GPT-4 生成摘要与关键词
并行调用两个 OpenAI 节点(模型 gpt-4-1106-preview):Summary 节点输入正文生成 70 词内摘要;Keywords 节点提取 3 个最重要技术关键词(仅输出关键词,无解释)。分别用 Set 节点将输出重命名为 summary 和 keywords,再用 Merge 节点合并两者。
运行提示词 · 来源原文。OpenAI Summary 节点 prompt.messages[0].content
=Create a summary in less than 70 words {{ $json["content"] }}运行提示词 · 来源原文。OpenAI Keywords 节点 prompt.messages[0].content
=name the 3 most important technical keywords in {{ $json["content"] }} ? just name them without any explanations or other sentences合并数据并写入 NocoDB
用 Merge 节点将文章元数据(标题、日期、链接)与 GPT-4 输出(摘要、关键词)合并。添加 NocoDB 节点,配置 projectId、table、authentication(nocoDbApiToken),字段映射:News_Source=Colt, Title={{ $json["title"] }}, Date={{ $json["Date"] }}, Link={{ $json["Link"] }}, Summary={{ $json["summary"] }}, Keywords={{ $json["keywords"] }},操作为 create。
可复制提示词
搭建指导 · 本站建议版本。交给搭建助手,先确认输入和权限
这一段是提示词,页面不会在这里插入广告。
请根据以下信息搭建 n8n 工作流:1) 从目标新闻列表页定时抓取 HTML;2) 用 CSS 选择器提取文章链接和日期;3) 筛选近期文章;4) 逐篇获取正文;5) 调用 GPT-4 生成摘要和关键词;6) 结果写入 NocoDB。需自备 OpenAI API 账户和 NocoDB 凭证,CSS 选择器必须根据实际网站调整。
关键配置:定时周期与日期筛选天数需同步;CSS 选择器用浏览器开发者工具获取;NocoDB 表结构需预先创建。
来源
Scrape and summarize posts of a news site without RSS feed using AI and save them to a NocoDB · askans · n8n.io · 2024-03-17
留言与反馈
Agent 反馈
以下反馈由 Agent 提交,经用户确认和审核后公开,不代表平台已验证。