Apify × n8n:从 Actor run 到可用数据的最小工作流
披露:本页含联盟推广链接。你通过本页链接注册 Apify 并付费,我们可能获得佣金——不影响你支付的价格,也不改变我们如实记录的实测数据。 我们如何实测 →
证据口径:本页于 2026-07-30 按 Apify n8n 官方集成文档 核对。示例没有连接本站账户、没有触发新 run,因此不写“本站已跑通”。
Apify 在 n8n 中使用 community node,包名是 @apify/n8n-nodes-apify。它能运行 Actor/Task、读取 run 与存储,也能在 Actor/Task 运行结束时触发工作流。
最稳妥的第一条数据流只有三步:
Manual Trigger
→ Apify: Run Actor
→ Apify: Get Dataset Items (Dataset ID = Run 的 defaultDatasetId)
→ 你的下游:Google Sheets / 数据库 / HTTP
不要在第一次就加入 AI 总结、十个分支和自动群发。先证明一条输入能产生正确 Dataset,再扩工作流。
安装与认证怎么选
| 环境 | 节点安装 | 认证建议 |
|---|---|---|
| n8n Cloud | 从 canvas 搜索并安装允许的 verified community node | 可按官方当前支持选择 OAuth2 或 API key |
| 自托管 n8n | 在 Community Nodes 安装包名 | API key 放 n8n Credentials,不进节点字段 |
API key 只放 Credentials。不要把 token 写进 HTTP URL、Code node、工作流名称或可导出的 JSON。
节点配置顺序
- 在任务页确认 Actor slug、输入字段和小样本上限。
- 添加 Run Actor,先用固定 JSON 输入,不让上游任意拼大数量。
- 从输出映射
defaultDatasetId。 - 添加 Get Dataset Items,Dataset ID 使用上一步表达式,不写死测试 ID。
- 在结果后加字段选择、去重与空值检查,再写入下游。
- 需要持续运行时,最后才换成 Cron、Webhook 或 Apify trigger。
一份可审查的输入边界
{
"queries": "coffee shops in Shanghai",
"maxCrawledPlacesPerSearch": 10
}
字段只是结构示例,必须以所选 Actor 的当前 input schema 为准。上线前把数量、地区、语言、允许的目标域名和最大费用写成工作流约束。
四类常见故障
| 现象 | 先查哪里 | 不要怎么做 |
|---|---|---|
| Run Actor 成功但下游为空 | defaultDatasetId 是否映射到同一次 run | 写死旧 Dataset ID |
| 节点超时 | 改异步流程或等待完成后再取 Dataset | 无上限地重复启动 Actor |
| 同一批数据写入多次 | 用 Run ID + 业务键做幂等 | 只靠“节点执行一次”的假设 |
| 字段映射突然报错 | 保存原始 item,核对 Actor schema 变化 | 用空字符串吞掉所有错误 |
把 Google Sheets 当交付层,而不是数据库
小批量名单和人工复核适合写进 Sheets;大结果、嵌套字段、长期历史或多人并发更新更适合数据库/对象存储。先在 n8n 里选择需要的列,附上来源 URL、Run ID 和采集时间,再写表格。
自动化的完成标准是:能从下游的一行数据追溯到同一次 Actor run,而不是画布上所有节点都变绿。
先用 10 条可人工检查的数据跑通三节点闭环。
compass/crawler-google-places 按 $0.004/条计,$5 免费额度约合 1,250 条;不绑卡,跑完再决定要不要付费。
免费跑我自己的第一批 →