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

如何用Instagrapi API定时获取Instagram新粉丝并保存会话/Cookie

解决方案:Instagrapi会话管理与粉丝获取优化

一、会话/Cookie保存与复用

Instagrapi原生支持会话设置的保存与加载,无需手动处理Cookie,具体实现代码如下:

from instagrapi import Client

# 初始化客户端
cl = Client()
USERNAME = "你的Instagram账号"
PASSWORD = "你的Instagram密码"

# 尝试加载已保存的会话
try:
    cl.load_settings("instagram_session.json")
    # 验证会话有效性,过期则自动重登
    cl.login(USERNAME, PASSWORD, relogin=True)
except Exception as e:
    # 首次登录或会话失效时重新登录
    cl.login(USERNAME, PASSWORD)
    # 保存会话到本地文件
    cl.save_settings("instagram_session.json")

# 复用会话获取粉丝列表的函数
def get_followers():
    user_id = cl.user_id_from_username(USERNAME)
    return cl.user_followers(user_id)
  • 会话文件instagram_session.json会自动存储Cookie、会话令牌等关键信息,避免每次登录触发风控检测。
  • relogin=True参数可在会话过期时自动重新登录,并更新本地保存的会话文件。

二、降低账号封禁风险的核心策略

30秒一次的全量粉丝拉取频率必然触发Instagram风控机制,即使复用会话也大概率导致账号受限,建议调整为以下方案:

  • 增量获取而非全量拉取:首次拉取完整粉丝列表后,后续仅通过max_id参数分页获取新增粉丝,减少请求数据量和服务器负载:
    # 首次获取所有粉丝,记录分页标记
      user_id = cl.user_id_from_username(USERNAME)
      followers = cl.user_followers(user_id)
      last_max_id = cl.last_json.get("next_max_id")
    
      # 后续增量获取新增粉丝
      def get_new_followers():
          nonlocal last_max_id
          if not last_max_id:
              return {}
          new_followers = cl.user_followers(user_id, max_id=last_max_id)
          last_max_id = cl.last_json.get("next_max_id")
          return new_followers
    
  • 调整请求间隔:将间隔从30秒提升至5-10分钟,Instagram对高频请求的检测阈值极低,短间隔请求几乎一定会被标记为异常。
  • 模拟真实用户行为:在请求之间加入随机延迟(如10-30秒),避免固定时间间隔;偶尔执行浏览帖子、点赞等正常操作,降低账号异常评分。

三、替代方案考量

如果对实时性要求不是极端严格,可考虑更合规的方案:

  • 官方用户数据导出:通过Instagram设置中的「下载你的信息」功能导出粉丝列表,完全合规无封禁风险,适合非实时的粉丝统计需求。
  • 第三方合规工具:部分社交媒体管理工具提供粉丝变动通知功能,基于合规的API实现,无需自行维护会话和风控逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:01:06