Python脚本用代理IP跑久了会遇到一个经典情况:同一个IP对同一个目标发了太多请求,目标服务器返回429(Too Many Requests)或者直接丢验证码。这种时候不是IP不行,是频率控制没做好。最直接的办法是用多条IP轮流用——每几个请求换一次出口地址,目标服务器看到的是不同的IP在访问,单IP的请求频率就降下来了。Python实现这个很简单:把几条SOCKS5线路放进一个列表,用itertools.cycle把它变成一个无限循环的迭代器——每次调用next(proxy_pool)取下一行,取到最后一行自动回到第一行重新开始。再在两次请求之间加一个random.uniform(1,3)的随机延迟,别让请求节奏太规律。
从鲸云IP获取多条SOCKS5家宽线路——家庭区A区约6元/月、B区约7元/月,买几条轮着用比单条硬挤效果好得多。加上客服微信x31471626沟通改价。代码的大概结构:定义PROXY_LIST=[“socks5h://用户:密码@服务器1:端口”,”socks5h://用户:密码@服务器2:端口”],from itertools import cycle,pool=cycle(PROXY_LIST)。然后在每个请求循环里proxy=next(pool),proxies={“http”:proxy,”https”:proxy},time.sleep(random.uniform(2,5)),requests.get(url,proxies=proxies,timeout=(5,30))。几条经验:轮换频率设3-5次请求换一个IP比较合理——不是每请求一次就换;收集几条线路的时候保证它们归属地分散(比如不要四条全是同省的),分散的IP比集中在一个地区的更自然;脚本写完了先拿httpbin.org/ip跑几轮看轮换是否正常。代理仅用于合规的数据采集和测试。
合规使用提醒
代理 IP 仅用于合法合规的网络连接管理、企业内网访问、授权业务测试等正当用途。使用过程中应遵守《网络安全法》《个人信息保护法》《数据安全法》及平台服务条款,不得用于任何侵犯他人权益或违反法律法规的活动。代理服务不替代业务规则,也不承诺任何平台或业务结果。






