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

Facebook帖子点赞用户爬取:GraphQL API分页参数求助

如何实现Facebook GraphQL点赞数据的分页获取

你目前通过https://www.facebook.com/api/graphql/获取帖子点赞用户时,每次返回10条数据的分页逻辑,核心靠cursor参数实现,具体步骤如下:

1. 从API响应中提取分页标记

每次调用API后,响应的JSON数据里会包含page_info字段,其中:

  • end_cursor:下一页数据的起始游标
  • has_next_page:布尔值,标识是否还有更多数据未获取

示例响应结构(简化版):

{
  "data": {
    "feedback": {
      "top_reactions": {
        "edges": [/* 当前页的点赞用户数据 */],
        "page_info": {
          "end_cursor": "AQxxxxxxxxx",
          "has_next_page": true
        }
      }
    }
  }
}

2. 修改请求参数发起下一页请求

将下一次POST请求中variables参数里的cursor值,替换为上一次响应里的end_cursor,保持count参数不变(你当前设置的是10,也可以尝试调整为更大值,但Facebook可能有上限限制)。

比如修改后的请求variables示例:

{
  "count":10,
  "cursor":"AQxxxxxxxxx", // 替换为上一次的end_cursor
  "feedbackTargetID":"ZmVlZGJhY2s6ODE5NzIwNjU5NTAzOTY1",
  "reactionID":null,
  "scale":1,
  "id":"ZmVlZGJhY2s6ODE5NzIwNjU5NTAzOTY1"
}

对应的cURL请求,只需更新-d参数里的variables部分即可。

3. 循环请求直到获取全部数据

每次请求后检查has_next_page:

  • 如果为true,继续用新的end_cursor发起请求
  • 如果为false,说明所有点赞数据已获取完成

注意事项

  • 会话参数(如cookie、fb_dtsg、lsd)会过期,需要定期从Facebook页面的请求中重新抓取
  • 避免高频请求,建议每次请求间隔几秒,防止账号被限制
  • feedbackTargetID和id参数要对应目标帖子的ID,不要随意修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:07:07