代理ip怎么用脚本自动化,Python定时切换节点防封模板
——爬虫、社媒、抢购党都在用的防封套路,一文给你拆透
一、为什么“手动换IP”已经救不了账号
被封过号的都懂:平台风控早就不是看单IP请求量,而是盯“行为轨迹”。同一账号短时间原地蹦出十几个不同城市,立刻红灯;可如果30分钟才换一次,且每次请求带随机UA、Referer、鼠标轨迹,平台就当你是真人。手动切?切到第3次就烦了,脚本才是答案。
二、选代理ip前先避坑
- 别贪“无限流量”,共享池子万人骑,30秒就废;
- 问清楚是“存活周期”还是“固定时效”,很多商家把3分钟存活吹成“长效”;
- 支持“用户名+密码”提取的,方便脚本里直接requests.get(url, proxies=proxies),不用下载TXT再读;
- 看有没有“城市级定位”,做外卖券、球鞋抢购必须精确到街道,否则定位偏移直接砍单。
三、Python定时切换脚本核心思路
- 用APScheduler搞“后台调度”,每N分钟触发一次换IP函数;
- 函数里先调商家API拿“新IP:端口”,写入全局变量PROXY;
- 把requests.Session()的proxies参数指向PROXY,后续所有业务代码复用同一Session,cookies自动带,减少登录;
- 加try/except捕获“代理连接超时”,一旦失败立即重拉IP,保证业务不断;
- 日志记“时间+IP+响应码”,被封时回头翻日志,一眼看出哪次IP被拉黑。
四、可直接套用的30行模板
import requests, time, random, logging
from apscheduler.schedulers.background import BackgroundScheduler
API = "https://xxx.com/get?type=1&city=440100&num=1"
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
logging.basicConfig(filename='ip.log', level=logging.INFO, format=LOG_FORMAT)
PROXY = {}
def get_proxy():
global PROXY
try:
res = requests.get(API, timeout=10).json()
ip_port = res['data'][0]['ip'] + ':' + str(res['data'][0]['port'])
PROXY = {'http': f'http://{ip_port}', 'https': f'http://{ip_port}'}
logging.info(f"新IP: {ip_port}")
except Exception as e:
logging.error("取IP失败: " + str(e))
def job():
get_proxy()
headers = {'User-Agent': random.choice(UA_POOL)}
try:
r = requests.get('https://weibo.com', proxies=PROXY, headers=headers, timeout=15)
logging.info(f"请求返回: {r.status_code}")
except Exception as e:
logging.error("请求失败: " + str(e))
if __name__ == '__main__':
get_proxy() # 先拿一个IP
sched = BackgroundScheduler()
sched.add_job(job, 'interval', minutes=30, max_instances=3)
sched.start()
while True:
time.sleep(86400)
把API换成你自己的提取地址,UA_POOL塞十几个浏览器UA,直接跑就行。
五、让平台更难盯上你的3个小动作
- 随机化请求间隔:在scheduled分钟数后面再加random.randint(0,300)秒抖动;
- 业务层加“滑块轨迹”:用selenium-wire接管代理,轨迹生成器插进去,通过率+30%;
- 账号池与IP池交叉:A账号只用华南IP,B账号只用华东,降低交叉污染,被封也只废一条线。
六、常见报错秒解决
407 Authentication required → 代理账号密码填错,检查proxies里http://user:pass@ip:port格式;
502 Bad Gateway → IP被目标服务器拉黑,立即重拉;
requests.exceptions.TooManyRedirects → 代理被运营商劫持,换HTTPS代理或加verify=False。
七、进阶:Docker+定时任务一键云跑
把脚本打包成镜像,用crontab写“每6小时重启容器”,防止内存泄漏;阿里云函数计算+定时触发器也行,按量付费,每天跑2小时成本不到3毛。
八、一句话总结
代理IP自动化=稳定API+APScheduler+异常重试+日志回溯,模板丢上去就能跑,别再手点“切换节点”折磨自己。
采购代理IP请添加微信客户经理:x31471626
阅读全文
原文链接:https://sk5ip.com.cn/hangyezixun/dailiipzenmeyongjuebenzidonghu/,转载请注明出处~~~
评论0