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

使用InstagramAPI获取粉丝列表不全问题求助

解决Instagram API获取粉丝列表不完整的问题

我之前用这个第三方Instagram API的时候也碰到过一模一样的问题!明明代码逻辑完全一致,关注列表能拉全,但粉丝列表总是少一大截。后来排查发现,问题出在getTotalFollowers方法的分页处理上,Instagram对粉丝接口的返回限制比关注接口更严格,很容易因为限流或者方法内部的隐性错误导致提前终止分页循环。

问题分析

看这个API的源码实现,getTotalFollowers虽然理论上会循环获取所有分页的粉丝数据,但它没有处理请求失败的情况——比如当请求频率过高触发Instagram的限流机制(返回429状态码),后续的分页请求就会失败,方法会直接返回已经获取到的部分数据,而你完全不知道中途出了问题。

解决方案:手动实现粉丝列表的分页逻辑

放弃依赖getTotalFollowers,自己写循环处理分页,同时添加延时避免限流,还能随时排查每一页的返回情况。修改后的代码如下:

import time
from InstagramAPI import InstagramAPI  # 确保你已经导入了库

username = "你的用户名"
password = "你的密码"

instagram_instance = InstagramAPI(username, password)
instagram_instance.login()
following = []
followers = []

# 手动获取粉丝列表,处理分页和限流
max_id = ""
while True:
    # 直接调用底层的getFollowers方法,传入当前分页的max_id
    success = instagram_instance.getFollowers(str(instagram_instance.username_id), maxid=max_id)
    if not success:
        print(f"分页请求失败,当前已获取{len(followers)}个粉丝")
        # 可以在这里添加重试逻辑,比如延时后重试
        time.sleep(5)
        continue
    
    result = instagram_instance.LastJson
    users = result.get('users', [])
    followers.extend([user['username'] for user in users])
    
    # 检查是否还有下一页
    max_id = result.get('next_max_id')
    if not max_id:
        break
    
    # 强制添加延时,降低请求频率,避免被限流
    time.sleep(2)

print(f"最终获取粉丝数:{len(followers)}")
print(followers)

# 关注列表可以保留原来的方法,或者也用手动分页逻辑
instagram_instance.getTotalFollowings(str(instagram_instance.username_id))
result = instagram_instance.LastJson
users = result['users']
following.extend([user['username'] for user in users])
print(f"最终获取关注数:{len(following)}")
print(following)

额外注意事项

  • 限流问题:Instagram对第三方API的请求频率限制很严,一定要添加足够的延时,不然不仅会拿不全数据,严重的还会导致账号被临时限制登录。
  • API版本兼容:这个第三方库已经有一段时间没更新了,可能和Instagram当前的API接口存在兼容问题,如果手动分页还是不行,可以检查一下getFollowers方法返回的LastJson结构是否有变化。
  • 隐私账号:少数情况下,私密账号的粉丝可能无法通过API获取,但你这里差了近200个,显然不是这个原因。

你可以试试上面的代码,应该能拉到完整的粉丝列表!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:02:51