jsonscraper

如何使用 Python 抓取 IG 数据

面向生产的演练,包含端点映射、缓存策略和实施示例。

编辑政策 报告错误

本指南展示了使用 jsonscraper 端点映射的生产优先 IG 数据工作流程,以及真实的响应示例和实用的架构选择。

对于生产工作负载,主要好处是端点深度加上重要路由上的cache_timeout支持,这有助于减少重复调用和配额消耗。

你将构建的内容

  • 使用 license_key 鉴权的 Python 签名 IG 请求。
  • 从 Postman 集合到生产脚本的逐路由验证。
  • 带有明确 cache_timeout 控制的 cursor 安全分页流程。

Postman 快速开始

从官方 IG 集合开始,设置一次 license_key,即可在编写代码前通过几次点击运行请求。

步骤1

叉子

使用 IG 或 TikTok Postman 集合作为您的工作区基线。

步骤2

设置键

在环境变量中配置一次license_key。

步骤3

自动化

导出片段或根据就绪请求运行 AI 代理工作流程。

全部 API 请求

集合中的完整端点地图。展开每个分类并点击路由,即可查看参数与响应示例。

用户 媒体 故事 精选 位置 话题标签 搜索 FB 搜索 音频(音乐) Web API(GraphQL)
用户 (30 端点)
媒体 (18 端点)
故事 (6 端点)
精选 (3 端点)
位置 (6 端点)
话题标签 (8 端点)
搜索 (11 端点)
FB 搜索 (2 端点)
音频(音乐) (2 端点)
Web API(GraphQL) (11 端点)
在 Postman 中查看完整端点列表

来自集合的 Python 示例

这些示例使用与 Postman 相同的鉴权方式:在查询参数中传递 license_key。

示例 1:按 username 获取用户(GET /v1/user/by/username)

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "username": "apple",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/v1/user/by/username", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data["ig"]["username"], data["ig"]["pk"])
{
  "status": "ok",
  "limits_info": {"requests_count": 7098, "requests_limit": 2000300},
  "rate_limit_reached": false,
  "ig": {"pk": 5821462185, "username": "apple", "full_name": "apple"}
}

示例 2:按 username 获取用户故事(GET /v1/user/stories/by/username)

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "username": "applemusic",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/v1/user/stories/by/username", params=params, timeout=30)
r.raise_for_status()
data = r.json()

stories = data.get("ig", [])
print("stories:", len(stories))

Python 请求模式(license key + 分页)

使用统一的请求 helper,确保所有端点的签名与分页逻辑一致。

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

def call(endpoint: str, **params):
    q = {"license_key": LICENSE_KEY, "cache_timeout": 0, **params}
    res = requests.get(f"{BASE_URL}{endpoint}", params=q, timeout=30)
    res.raise_for_status()
    return res.json()

page1 = call("/v1/user/medias/chunk", user_id="5821462185")
next_max_id = page1.get("next_max_id")
if next_max_id:
    page2 = call("/v1/user/medias/chunk", user_id="5821462185", max_id=next_max_id)

实现说明

  • 每个请求都应包含 license_key。
  • 对重复检查场景显式设置 cache_timeout。
  • 将游标字段与查询上下文一起持久化。
  • 完成基线验证后,按端点分类逐步扩展覆盖范围。

准备好启动您的 API 工作流程了吗?

选择 API,在 Postman 测试端点,几分钟内上线工作流。

People

No people listed for this article yet.

Keep reading如何使用 Python 抓取 TikTok 数据
Read the next article

将阅读内容转化为可用的集成

探索 jsonscraper 社交数据 API、测试请求并构建下一个工作流。

查看 API