Mindket

用 OpenAI 通过 webhook 把网页变成结构化 JSON

新上架第 1 版 · 更新于

概览

一个 n8n 工作流,用取自网页的 JSON 来回应 webhook 调用。它检查地址,下载页面,把页面变成文字,再请 OpenAI 挑出调用者指名的字段。

用 OpenAI 通过 webhook 把网页变成结构化 JSON 是一款 n8n 工作流,属于开发类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • 另一个 n8n 工作流:用一个 HTTP Request 节点来调用它
  • 脚本或应用:发一个带 JSON 正文的 POST 请求

平台

连接 1 个应用

运行方式

触发

Webhook 调用

调用者向它的 webhook 地址发一个带 JSON 正文的 POST 请求时开始运行:

  • url(必填):要读的页面
  • extract_fields:要找的内容,例如 price,features
  • name:一个可选的标签,会跟着传过去但不会被用到

动作

  1. Validate 检查地址,拒绝任何不是公开网址的内容
  2. Fetch Page 用 GET 请求下载页面,最多等 20 秒
  3. Extract Text 去掉脚本、样式和标签,保留前 4,000 个字符
  4. OpenAI(gpt-6-luna)挑出你指名的字段,另外给出标题、描述、统计数据和情绪
  5. Respond 把这份 JSON 送回给调用者

结果

一份 JSON 回复,里面有标题、描述、你要的字段、一个统计数据列表和一个情绪词

集成

开始之前要准备好这些。

OpenAI

语言模型

运行 gpt-6-luna,读取页面文字并写出 JSON。

需要一个 OpenAI API 密钥

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
6 个步骤,由 Webhook 调用启动
AI
1 个步骤调用 AI 模型:AI: Extract Data
登录
不需要登录任何账号
API 密钥
文件里没有留下 API 密钥
步骤类型
Mindket 的检查器能读懂它全部 5 种步骤类型

以上内容读自工作流文件,并非实际运行的结果。

关于

它是什么

这个 n8n 工作流把一个网址变成结构化数据。调用者发一个 POST 请求,写明要读的页面和要找的字段。工作流检查这个地址,下载页面,把它剥成纯文本,再请 OpenAI 把这些字段挑出来。回复是 JSON。干活的是六个节点,旁边还有一张便签。

适合谁

想要“给一个地址,得到干净的 JSON”的开发者和自动化搭建者,用来喂给脚本或另一个工作流。需要登录的页面,或者靠脚本才显示内容的页面,就别选它,因为它只读页面的 HTML。

谁在用,怎么用
行业谁在用怎么用例子
电商价格分析师从他们盯着的商品页里取出价格和特点一位分析师发去一个商品页地址,把每次回复里的价格和特点记下来。
营销内容经理总结竞争对手的文章或落地页一位经理发去一篇文章的地址,读它的标题、一段简短描述和语气。
研究分析师把一串页面变成一行行数据一位分析师在另一个工作流里把二十个地址逐个送进这个 webhook,再把 JSON 收集起来。
软件开发者在应用里把它当作一个小型提取服务一位开发者从脚本里发去一个地址,在回复里读 extractedData。

你需要懂一点 n8n:导入一个文件,添加一个 OpenAI 凭据,创建一个 Header Auth 凭据,再发一个测试请求。

用在哪里

任何能访问公开网络和 OpenAI 的 n8n 都能运行它。调用者通过它的 webhook 地址使用它,所以脚本、另一个工作流,或者任何能发 POST 请求的工具都可以。

  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • 另一个 n8n 工作流:用一个 HTTP Request 节点来调用它
  • 脚本或应用:发一个带 JSON 正文的 POST 请求

设置

点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。这里要用到两个凭据。

先准备好这些
需要说明
n8nn8n Cloud,或者你自己的服务器
OpenAI一个 API 密钥,用于 OpenAI 凭据
给调用者的密钥一个很长的随机值,用于 Header Auth 凭据
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 创建一个 Header Auth 凭据,头名称填 X-API-Key 这类名字,值填你自己的一长串随机内容。在 Scrape URL 里选上它。
  3. 打开 AI: Extract Data,添加带你的密钥的 OpenAI 凭据,并确认 Model 是 gpt-6-luna。
  4. 在 Scrape URL 里点 Listen for test event。向测试地址发一个 POST 请求,带上你的头和一个像 {"url": "https://example.com"} 这样的正文。
  5. 保存工作流并点 Publish。真正的调用发到生产地址,也就是带 /webhook/ 的那个。

如何使用

发一个 POST 请求,把你的密钥放在请求头里,正文用 JSON。url 必填,extract_fields 列出要找的内容,例如 price,features,name 会跟着传过去但不会被用到。回复就是模型给出的 JSON。

想要不同的效果,改这里
要改的在哪里改
要找的字段请求里的 extract_fields,或者 Validate 里它的默认值
回复的结构AI: Extract Data 系统消息里的 JSON 结构
模型AI: Extract Data 里的 Model
读多少页面内容Extract Text 里在 4,000 个字符处的截断
页面请求里的 url

示例

一位价格分析师发去一个水壶商品页的地址,把 extract_fields 设成 price,features。工作流取回页面,把它变成文本,再把前 4,000 个字符发给模型。

回复是一段 JSON,里面有 title、description、装着价格和特点的 extractedData 对象、一个 statistics 列表和一个 sentiment 词。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。webhook 是一个地址,有东西来调用它时就启动工作流。调用者在方框们运行时等着,最后一个方框把答案送回去。先发一个测试请求,再逐个打开方框,看它往下传了什么。

专家:Scrape URL 通过 Respond 作答,所以调用者拿到的就是模型的 JSON 本身。Validate 从 body 里读正文,读不到就退回到整个条目,并拒绝 http 和 https 以外的协议,以及指向私有网络的地址。

值得细看的地方
节点做什么要知道的
Scrape URLWebhook 2,POST,路径 extract-page-data,Header Auth,由一个节点作答在 Respond 之前失败的运行,会让调用者收到 n8n 的错误,而不是 JSON
ValidateCode 2,检查 url 并生成条目它按名字或数字拦下私有主机。指向私有地址的公开域名,或者跳转到私有地址,它拦不住
Fetch PageHTTP Request 4.2,GET,超时 20 秒它以 PageDataReader/1.0 自报身份,遇到错误状态就停下这次运行
Extract TextCode 2,去掉脚本、样式和标签它保留剩下文字的前 4,000 个字符
AI: Extract DataOpenAI 1.8,Message a model,开着 JSON 输出系统消息里写明了 JSON 的结构
RespondRespond to Webhook 1.1,JSON它返回 message.content,也就是解析好的 JSON

注意事项

这个 webhook 会取回调用者发来的任何公开地址,所以请把它的密钥保管好。

  • 默认上锁:Mindket 的版本要求调用者带一个请求头密钥。原来的副本没有任何检查,所以谁找到它的地址,就能让你的 n8n 去取页面
  • 模型:OpenAI 的弃用页面(2026 年 11 月 12 日读取)写着 gpt-4o-mini 将在 2027 年 1 月 14 日停用,替代品是 gpt-6-luna。Mindket 的版本用的是 gpt-6-luna
  • 去掉的设置:原来设了 0.2 的温度和 800 个令牌的上限。这个模型的页面没有列出温度,而推理令牌会占用一个小上限,所以 Mindket 的版本用节点的默认值
  • 只读纯页面:靠脚本补充内容的页面,或者在登录后面的页面,回来的内容几乎是空的
  • 页面被截断:只有页面文字的前 4,000 个字符会到达模型
  • 网站规则:网站对自动读取各有自己的规定。把工作流对准某个网站之前,先看看它的条款
  • 费用:每次调用是一次模型请求,由 OpenAI 计费
  • 你的数据:页面文字会发给 OpenAI,JSON 会回到调用者手里
  • 凭据:JSON 里没有任何凭据,所以请自己添加 OpenAI 和 Header Auth 凭据

README 和文件

README

用 OpenAI 通过 webhook 把网页变成结构化 JSON

一个 n8n 工作流,把一个网址变成结构化数据。调用者发一个 POST 请求,写明要读的页面和要找的字段。工作流检查这个地址,下载页面,把它剥成纯文本,再请 OpenAI 把这些字段挑出来。回复是 JSON。

包里有什么

  • workflow.json:n8n 导出的工作流,五个干活的节点、一个 webhook 和一张便签。里面没有任何凭据。
  • README.md:这份设置说明,压缩包里的是英文版。

我们相对原来的副本改了什么

  • webhook 现在要求调用者带一个 Header Auth 密钥。原来的副本没有任何检查,所以谁找到它的地址,就能让你的 n8n 去取页面。路径也从产品名改成了 extract-page-data。
  • Validate 现在会拒绝不是 http 或 https 的地址,也会拒绝写成私有名字或数字的主机(localhost、10.x.x.x、192.168.x.x、172.16.x.x 到 172.31.x.x、127.x.x.x、169.254.x.x、.local、.internal)。
  • 原来的副本里,OpenAI 这一步被存成了较老的 OpenAI 节点类型,用的却是这个类型没有的版本号,带着新节点的设置,n8n 照原样加载不了。Mindket 的版本用的是现在的 OpenAI 节点 Message a model(版本 1.8),两条消息不变,并打开了 JSON 输出。
  • 模型从 gpt-4o-mini 换成了 gpt-6-luna,因为 OpenAI 的弃用页面(2026 年 11 月 12 日读取)写着 gpt-4o-mini 将在 2027 年 1 月 14 日停用,并指明 gpt-6-luna 是它的替代品。
  • 去掉了温度(0.2)和 800 个令牌的上限。这个模型的页面没有列出温度,而推理令牌会占用一个小上限。
  • 请求头 User-Agent 现在是 Mozilla/5.0 (compatible; PageDataReader/1.0),便签也重写了。

开始之前

  • 一个 n8n 实例,n8n Cloud 或自己的服务器都行。
  • 一个 OpenAI API 密钥。
  • 一串你自己的长随机值,用于 Header Auth 凭据。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 创建一个 Header Auth 凭据,头名称填 X-API-Key 这类名字,值填一长串随机内容。在 Scrape URL 里选上它。
  3. 打开 AI: Extract Data,添加带你的密钥的 OpenAI 凭据,并确认 Model 是 gpt-6-luna。
  4. 在 Scrape URL 里点 Listen for test event。向测试地址发一个 POST 请求,带上你的头和一个像 {"url": "https://example.com"} 这样的正文。
  5. 保存工作流并点 Publish。真正的调用发到生产地址,也就是带 /webhook/ 的那个。

一次运行是怎么走的

  1. Scrape URL(Webhook 2)接收 POST 请求并检查请求头密钥。它稍后由 Respond 作答。
  2. Validate(Code)从正文里读 url、extract_fields(默认 price,features,description)和 name,并拒绝有问题的或私有的地址。
  3. Fetch Page(HTTP Request 4.2)用 GET 请求下载页面,超时 20 秒。
  4. Extract Text(Code)去掉脚本、样式和标签,保留前 4,000 个字符。
  5. AI: Extract Data(OpenAI 1.8,Message a model)请 gpt-6-luna 给出带 title、description、extractedData、statistics 和 sentiment 的 JSON。
  6. Respond(Respond to Webhook 1.1)把 message.content,也就是解析好的 JSON,送回给调用者。

想要不同的效果,改这里

  • 要找的字段:请求里的 extract_fields,或者 Validate 里它的默认值。
  • 回复的结构:AI: Extract Data 系统消息里的 JSON 结构。
  • 模型:AI: Extract Data 里的 Model。
  • 读多少页面内容:Extract Text 里在 4,000 个字符处的截断。

需要知道的

  • 请把请求头密钥保密:这个 webhook 会取回调用者发来的任何公开地址。指向私有地址的公开域名,或者跳转到私有地址,Validate 拦不住。
  • 靠脚本补充内容的页面,或者在登录后面的页面,回来的内容几乎是空的。
  • 在 Respond 之前失败的运行,会让调用者收到 n8n 的错误,而不是 JSON。
  • 网站对自动读取各有自己的规定。把工作流对准某个网站之前,先看看它的条款。
  • 每次调用是一次由 OpenAI 计费的模型请求,页面文字会发给 OpenAI。
文件
NOTICE.md  626 B
README.md  4 KB
workflow.json  6 KB

3 个文件,共 11 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-12

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

anaksor-ocr

Sokheng · 工具包

这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

新上架

Qwen2.5-7B-Instruct-GGUF

Qwen · 工具包

Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。

新上架

ACE-Step 1.5 XL SFT

ACE-Step · 工具包

用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。

新上架

开发类的相似商品

查看开发类的全部商品

Claude Code Skills & Plugins

alirezarezvani · 技能

为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。

新上架29.8k

buzz

block · 工具包

可自行托管的工作空间,人和 AI 智能体在同样的房间里协作,基于 Nostr 中继,把每个动作记录为签名事件。适合想自己运行中继的团队。

新上架37.3k

plannotator

backnotprop · 工具包

把你的 AI 编程智能体的计划、规格和代码改动在浏览器里打开,让你加批注或评论,并把反馈直接发回给智能体。

新上架10.5k