使用Python instabot开发自动化脚本时报429错误如何解决?
429错误触发原因
429错误是Instagram平台的速率限制机制被触发,对应你的代码和运行场景,具体触发原因如下:
- 代码每次运行都会强制删除本地存储的登录cookie,导致每次启动都需要走完整的新登录流程,短时间内多次发起登录请求很容易触发放流阈值
- 没有修改instabot的默认请求频率参数,默认请求间隔短、操作频率高,登录阶段就会触发平台反爬规则
- 若短时间内多次运行脚本、重复发起登录请求,平台会累积记录你的账号/IP的请求频次,直接触发限流
- 如果你使用的是公共免费代理,该IP可能之前已经被其他人用于跑Instagram自动化,IP本身已经被平台限流
修复方案
- 首先删除代码中删除cookie的两行代码,保留本地cookie复用登录会话,避免每次运行都重复发起登录请求:
# 删掉这两行 cookie_del = glob.glob("config/*cookie.json") if cookie_del : os.remove(cookie_del[0])
- 初始化Bot时新增速率控制参数,降低操作频率:
bot = Bot( filter_users=True, filter_private_users=False, filter_previously_followed=True, filter_business_accounts=True, filter_verified_accounts=True, # 新增速率控制参数 max_follows_per_day=120, # 新号建议单日关注上限不超过100,老号不超过200 sleep_delay=60, # 每完成一次操作后强制休眠60秒 min_time_between_requests=10, # 两次API请求之间最少间隔10秒 )
- 首次触发429后不要频繁重试脚本,先使用相同的IP在浏览器手动登录Instagram账号,确认账号没有被限制登录、可正常使用后,等待至少1小时再运行脚本
- 不要使用公共免费代理,优先使用独享私密代理,避免IP被关联限流
- 注册不满30天的新账号先手动正常使用养号至少7天,不要直接跑自动化脚本,降低账号被风控的概率
内容的提问来源于stack exchange,提问作者botondlazar
相关产品推荐
相关产品推荐

