营销团队可以在信息流中看到竞争对手发布的内容,但手动浏览很难回答一个具体问题:哪些形式和主题持续获得互动,哪些只是偶尔引人注目?解决办法是每天保存公开帖子的相关数据,并按时间、形式和可用计数进行比较。

下面介绍一套基于 Python 和 IG Scraper API 的基础流水线。它会获取所选账号的帖子,将响应保存为 JSONL,并汇总新内容。此类报告中的互动指标反映 API 在采集时返回的数值;不同日期的快照则可以用于单独分析这些数值的变化。
首先确定具体要比较什么
对于小规模竞争对手样本,只需维护一份公开账号列表,并按统一计划采集这些账号的帖子。先从数据能够回答的问题入手:内容发布频率如何,哪些帖子属于 Reels 或其他形式,哪些主题反复出现,以及可用的点赞数和评论数如何变化。
在存储中区分两个概念:帖子及其快照。如果响应中包含稳定 ID,就用它标识帖子;每次采集都作为带有采集时间的独立记录保存。这样就能查看可用计数的变化,而不是用今天的数值覆盖昨天的数值。
接入文档中列出的路由
jsonscraper 文档为基础请求列出了地址 https://ig.jsonscraper.com 和路由 GET /v1/user/by/username。API 路由列表还列出了用于获取帖子的 GET /v1/user/medias/chunk。请在关联的 Postman 集合中核实准确的参数集和响应字段:在检查自己请求的实际响应之前,不要假定其结构。
初步验证时,请使用文档中的个人资料请求示例;通过环境变量传递密钥,不要将其写入源代码:
curl -G "https://ig.jsonscraper.com/v1/user/by/username" \
--data-urlencode "username=apple" \
--data-urlencode "license_key=$JSONSCRAPER_LICENSE_KEY" \
--data-urlencode "cache_timeout=60"
产品页面的示例为个人资料路由展示了 username、license_key 和 cache_timeout。只有在其他路由的文档也列出该参数时,才将它用于这些路由。请求帖子时,请从该路由的规范中获取最新参数名称。
将响应保存为带时间的快照
下面的脚本是用于实际运行的模板:帖子路由的 URL 和参数留在配置中,以便严格依据 Postman 文档填写。处理程序会保存原始 JSON 和采集时间;检查实际响应后,再添加字段规范化逻辑。
import json
import os
from datetime import datetime, timezone
from pathlib import Path
import requests
BASE_URL = "https://ig.jsonscraper.com"
USERNAME = os.environ["IG_USERNAME"]
LICENSE_KEY = os.environ["JSONSCRAPER_LICENSE_KEY"]
OUTPUT = Path("instagram_snapshots.jsonl")
# 根据 Postman 集合中
# GET /v1/user/medias/chunk 路由的文档填写端点和参数。
MEDIA_PATH = os.environ["IG_MEDIA_PATH"]
MEDIA_PARAMS = json.loads(os.environ["IG_MEDIA_PARAMS_JSON"])
params = {
**MEDIA_PARAMS,
"username": USERNAME,
"license_key": LICENSE_KEY,
}
response = requests.get(
f"{BASE_URL}{MEDIA_PATH}", params=params, timeout=30
)
response.raise_for_status()
payload = response.json()
record = {
"collected_at": datetime.now(timezone.utc).isoformat(),
"username": USERNAME,
"response": payload,
}
with OUTPUT.open("a", encoding="utf-8") as file:
file.write(json.dumps(record, ensure_ascii=False) + "\n")
这里有意不填写虚构的分页参数或字段名称:应从具体规范中复制,并通过 API 响应进行验证。为请求设置超时并调用 raise_for_status(),有助于在将结果当作普通数据写入之前发现网络错误。要实现自动运行,还应添加 JSON 校验和错误日志。
添加计划任务和指标
通过 cron 或自动化平台的计划任务每天采集一次。对于多个账号,遍历配置列表,为每个账号保存单独快照,并在临时错误后支持重试。将密钥保存在环境变量或密钥管理系统中;API 页面也特别建议不要将其嵌入客户端代码。
检查响应后,将记录规范化为包含 username、media_id、collected_at、内容类型和可用计数等字段的表格。不要删除原始 JSON:如果响应格式发生变化,或需要核查计算结果,它会派上用场。
在分析层中,计算某一时段内的新帖子数量、按形式划分的可用互动指标中位数,以及同一帖子的计数器在不同快照之间的变化。中位数可以降低单条爆红帖对汇总结果的影响。比较账号时使用相同的时间窗口,并在汇总指标旁标注样本量。
最终成果
团队将获得可复现的帖子表格和每日摘要,其中包括内容发布频率、形式分布以及可用互动指标的变化。这些信息有助于为自有编辑排期提出假设,而不只是从信息流中收集截图。
下一步可以将规范化记录发送到 Google Sheets、数据库或可视化系统,并将文本摘要作为独立阶段生成。如果接入 AI,请向它提供聚合数据,并要求它注明时间段和帖子数量,描述可观察到的规律;策略决策仍应由编辑负责。
从一个账号和一条路由开始:先在 IG Scraper API 说明中核实参数和响应结构,再将该配置固定到计划任务中。这样,竞争对手监测就能从一次性的手动浏览,转变为具有可保存历史记录的清晰流水线。