要在Dify工作流中精准提取谷歌搜索结果,必须使用SerpAPI获取结构化数据,注册获取API密钥后在Dify工具设置中授权Google工具,再构建含Google节点的工作流并配置query、num、hl、gl等参数,最后通过JSON解析或LLM节点处理结果,注意过滤广告等内容并验证输出格式。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify工作流中精准提取谷歌搜索结果,必须绕过原始网页解析的繁琐过程,直接调用SerpAPI返回结构化数据——它能稳定输出标题、摘要、URL、排名、知识图谱等字段,且无需处理反爬、IP封禁或JavaScript渲染问题。
注册并获取SerpAPI密钥
访问 https://serpapi.com/manage-api-key,用邮箱注册账号。国内手机号可直接验证,无需海外号码。注册成功后,页面自动显示你的唯一API Key,【请立即复制并妥善保存,该密钥不支持二次查看】。免费版每月100次调用额度,足够测试和轻量生产使用。
在Dify中配置Google工具凭据
登录Dify控制台 → 右上角头像 → 设置 → 工具 → 找到“Google”工具 → 点击“去授权”。粘贴刚复制的SerpAPI密钥,点击保存。此时工具状态变为“已授权”,但注意:【此操作仅激活工具本身,尚未接入工作流】。
在 Linux 上通过 Chrome 挂载/VNC 自动发布小红书长笔记。Agent 撰写标题和正文后执行 xhs_publish.sh --publish --submit,触发小红书发布。
构建含Google搜索节点的工作流
进入Dify工作区 → 新建Workflow → 拖入“开始”节点 → 连接至“Google”节点 → 再连接至“结束”节点。
双击“Google”节点,在参数面板中填写: - query:输入搜索关键词(支持变量,如 {{sys.input}}); - num:设置返回结果数量(默认10,最大100); - hl:语言代码(如zh、en); - gl:国家代码(如cn、us),影响地域化结果排序。
这一步决定结果精度——不填gl可能导致中国用户搜出大量英文站点;不设hl可能返回混合语言摘要。若需提取特定网站内容,可在query中加site:example.com限定范围。
解析并结构化SerpAPI返回数据
方法一:用内置JSON解析节点 在Google节点后添加“代码执行”节点 → 选择Python → 输入以下脚本:
```python results = [] for item in $google_search.results: results.append({ "title": item.get("title", ""), "link": item.get("link", ""), "snippet": item.get("snippet", "") }) return {"parsed": results} ```
方法二:用LLM节点做语义提炼 连接Google节点 → LLM节点 → 在提示词中写:“从以下搜索结果中提取与‘{{sys.input}}’最相关的3条信息,每条包含标题、链接、核心事实,用中文输出,不要解释。”
注意:SerpAPI原始响应里含广告、视频、图片区块,若只想要自然搜索结果,务必过滤掉"ad"、"video"、"image"类型条目——否则LLM可能误将广告当权威来源。
调试与验证输出格式
第一步:点击工作流右上角“运行”按钮,手动输入测试关键词(如“2026年大模型开源趋势”)。 第二步:观察“Google”节点输出面板,确认返回体含results数组且长度≥num设定值。 第三步:检查下游节点是否成功读取title/link/snippet字段——若出现KeyError,说明某条结果缺失该键,需在解析脚本中补.get()默认值。 第四步:导出为CSV时,确保字段名统一为英文小写(title/link/snippet),避免后续训练数据加载报错。


















