You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在n8n中从分页URL提取全量数据至Google Sheet

在n8n中实现分页URL的全量数据提取与Google Sheet同步

要解决仅能获取100条数据的问题,核心是让n8n自动遍历所有分页并合并数据,具体分两种常见分页场景处理:

场景1:API支持页码/偏移量分页(如page=1&limit=100)

  1. 获取分页元数据
    • 用HTTP Request节点调用一次API,传入初始分页参数(比如page=1&limit=100)。
    • 从返回结果中提取总数据量(如total字段)或总页数(如totalPages字段)。比如总数据500条、每页100条,就需要遍历5页。
  2. 生成分页参数列表
    • 用Function节点生成所有需要的页码数组,示例代码:
      return Array.from({length: 5}, (_, i) => ({page: i + 1}));
      
    • 或者用Split In Batches节点,设置Batch Size为1,根据总页数生成循环次数。
  3. 循环调用API
    • 将HTTP Request节点放入循环分支(如Split In Batches的Batch输出),每次动态替换page参数为当前循环的页码。如果用偏移量(offset),则计算offset = (当前页码-1)*100。
  4. 合并全量数据
    • 用Merge节点选择Append模式,将每一页返回的数据集合并为一个完整数组。
  5. 同步到Google Sheet
    • 用Google Sheets节点选择Append或Overwrite模式,把合并后的数据写入目标表格。

场景2:API使用游标分页(返回nextToken或类似标记)

  1. 初始请求获取第一页数据
    • 用HTTP Request节点调用API,不带游标参数,获取第一页数据和返回结果中的nextToken。
  2. 循环遍历直到无游标
    • 添加While Loop节点,设置循环条件为$json.nextToken !== undefined(根据实际返回字段调整)。
    • 循环内部的HTTP Request节点,每次带上上一次返回的nextToken参数,请求下一页数据。
    • 每次获取数据后,用Merge节点累积数据。
  3. 合并并同步数据
    • 循环结束后,合并所有页的数据,再通过Google Sheets节点写入表格。

关键注意事项

  • 速率限制处理:如果API有请求频率限制,在循环中加入Wait节点,设置1-2秒延迟,避免被封禁。
  • 字段一致性检查:确保每一页返回的数据字段结构完全一致,否则合并或写入Sheet时会出现字段缺失或错位。
  • 错误捕获:在HTTP Request节点后添加Error Catch节点,处理请求失败的情况,防止流程中断。
  • 小批量测试:先测试2-3页数据,确认流程正常后再执行全量提取。

内容的提问来源于stack exchange,提问作者Aneeza Tariq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 23:12:38