如何用Python的instagram-private-api获取全部粉丝?
解决Instagram API获取全部粉丝的问题
你的代码仅获取了第一页的粉丝数据,Instagram的user_followers接口默认采用分页返回结果,需要通过循环请求下一页数据才能拿到全部粉丝。
修改后的代码如下:
myFollowers = [] rank_token = Client.generate_uuid() next_max_id = None while True: # 传入max_id参数请求分页数据,首次请求时max_id为None followers = api.user_followers(api.authenticated_user_id, rank_token=rank_token, max_id=next_max_id) # 批量添加当前页的粉丝用户名到列表 myFollowers.extend([user['username'] for user in followers['users']]) # 获取下一页的标识ID,没有则终止循环 next_max_id = followers.get('next_max_id') if not next_max_id: break print(f"共获取到{len(myFollowers)}个粉丝") print(myFollowers)
关键说明:
- 用
while True循环持续发起请求,直到没有下一页数据为止 - 每次请求带上
max_id参数,值为上一页返回的next_max_id,API会据此返回下一页的粉丝列表 - 使用
extend批量添加用户名单,比逐个append更高效 - 当
next_max_id不存在时,说明所有粉丝数据已获取完成,退出循环
内容的提问来源于stack exchange,提问作者Atharv Goel
相关产品推荐
相关产品推荐

