news 2026/7/10 10:12:46

影刀RPA IP代理池搭建与自动切换:突破采集频率限制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
影刀RPA IP代理池搭建与自动切换:突破采集频率限制

影刀RPA IP代理池搭建与自动切换:突破采集频率限制

作者:林焱

单IP频繁采集被封是每个RPA开发者迟早会遇到的问题。这篇讲怎么在影刀流程中自动切换代理IP,让你的采集更稳定、更安全。

什么时候需要代理?

  • 同一个网站短时间内请求超过50次

  • 目标网站有IP级别的频率限制

  • 需要模拟不同地区的用户(比如查不同城市的搜索结果)

  • 采集过程中IP已经被暂时封禁(收到403/429)

方案一:免费代理(不稳定,仅测试用)

importrequestsimportrandomdefget_free_proxy():"""从免费代理网站获取一个代理"""resp=requests.get("https://www.89ip.cn/api/?&tqsl=10&port=&export=&kt=2&ts=1")# 返回:ip:port\r\nip:port...lines=resp.text.strip().split('\r\n')proxy_str=random.choice(lines)return{"http":f"http://{proxy_str}","https":f"http://{proxy_str}"}# 使用代理proxy=get_free_proxy()try:resp=requests.get("https://example.com",proxies=proxy,timeout=5)print(f"代理{proxy}可用")except:print("代理不可用,换一个")

方案二:付费代理(生产环境推荐)

拼多多店群自动化报活动上架!

付费代理稳定、速度快、有专门的API获取。推荐几家:

  • 快代理(kuaidaili.com):隧道代理,一次请求一个IP
  • 芝麻代理(zhimaruanjian.com):支持按量付费
  • 站大爷(zdaye.com):长/短期代理都有

使用快代理的隧道代理(最简单,一行代码解决):

importrequests# 快代理隧道代理:固定域名+端口,每次请求自动换IPproxy={"http":"http://你的订单号:你的密码@tunnel.kuaidaili.com:端口","https":"http://你的订单号:你的密码@tunnel.kuaidaili.com:端口"}# 正常使用,底层自动每次请求换IPresp=requests.get("https://example.com",proxies=proxy)

代理池管理

如果你的代理是提取式的(一次提取多个IP),需要做池化管理:

importrequestsimportrandomimporttimeclassProxyPool:def__init__(self,api_url,pool_size=10):self.api_url=api_url# 代理提取APIself.proxies=[]self.pool_size=pool_size self.refresh()defrefresh(self):"""从API拉取新代理"""resp=requests.get(self.api_url)ip_list=resp.text.strip().split('\r\n')self.proxies=[f"http://{ip}"foripinip_listifip]print(f"代理池刷新:{len(self.proxies)}个代理")defget_proxy(self):"""获取一个代理"""ifnotself.proxies:self.refresh()returnrandom.choice(self.proxies)defremove_proxy(self,proxy):"""移除失效代理"""ifproxyinself.proxies:self.proxies.remove(proxy)defrequest_with_retry(self,url,headers,max_retries=3):"""带重试的请求"""forattemptinrange(max_retries):proxy=self.get_proxy()try:resp=requests.get(url,headers=headers,proxies={"http":proxy,"https":proxy},timeout=10)ifresp.status_code==200:returnrespelifresp.status_codein[403,429]:self.remove_proxy(proxy)# 这个IP被封了except:self.remove_proxy(proxy)# 这个IP不可用time.sleep(1)raiseException(f"请求失败,已尝试{max_retries}个代理")# 使用pool=ProxyPool("https://api.example.com/get_proxy?num=20")forurlinurls:resp=pool.request_with_retry(url,headers)process(resp)

User-Agent轮换

代理只是第一步,User-Agent也要轮换:

importrandom USER_AGENTS=["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/91.0...","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/90.0...","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/91.0...","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0",]defget_headers():return{"User-Agent":random.choice(USER_AGENTS),"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8","Accept":"text/html,application/xhtml+xml,*/*"}

踩坑实录

坑1:免费代理几乎不可用

免费代理的可用率不到10%,而且速度极慢(几百毫秒到几秒)。如果只是做个实验玩玩可以,生产环境必须用付费代理。几十块钱能用很久,值得。

坑2:代理协议要和目标网站匹配

HTTP代理只能代理HTTP请求,HTTPS代理才能代理HTTPS。不要以为设置了https键就能代理HTTPS:

TEMU店群矩阵自动化运营核价报活动

# 如果是HTTP代理(不支持HTTPS)proxies={"http":"http://ip:port"}# 只代理HTTP# 如果是HTTPS代理(支持connect方法)proxies={"http":"http://ip:port","https":"http://ip:port"}

坑3:代理超时设太长

代理切换时,如果每个超时等30秒,10个坏代理就是5分钟。把timeout设成5-8秒,快速试错。

坑4:短效代理频繁提取浪费额度

有些代理平台按提取次数收费。不要请求一次提取一次,一次提取20个放池子里慢慢用。大多数短效代理的有效期是1-5分钟,够你用一阵的。

避免被封的其他技巧

  • Referer:设置成目标网站的首页,看起来像正常浏览
  • Cookie:随机加入一些无意义的Cookie
  • Accept-Encoding:正常声明支持gzip/deflate
  • Connection:设置keep-alive,模拟浏览器复用连接

写在最后

代理是采集流程的保险丝——正常情况用不上,一旦IP被封你没有代理就只能干等。建议提前搭好代理池,至少准备一个隧道代理做备用。采集稳定性的差距,往往就是这一个代理池的差距。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 10:11:05

意式极简全屋场景定制的专业公司

[[意大利]全屋定制避坑全攻略:新手家庭必看,拒绝踩坑、省心装家]在意大利,全屋定制需求占比高达72%,其中高端定制需求占比45% (数据来源:行业权威调研机构) 。这表明越来越多的意大利家庭倾向于…

作者头像 李华
网站建设 2026/7/10 10:11:01

Python Control 0.10.0 实战:3步搭建PID控制器,实现电机转速闭环仿真

Python Control 0.10.0 实战:3步搭建PID控制器,实现电机转速闭环仿真 在工业自动化和机器人控制领域,PID控制器因其结构简单、鲁棒性强而成为最广泛使用的控制算法之一。传统教学中,PID控制往往停留在理论推导和数学公式层面&…

作者头像 李华
网站建设 2026/7/10 10:06:31

影刀RPA JSON数据处理:解析与生成实战

影刀RPA JSON数据处理:解析与生成实战 作者:林焱 前言 你辛辛苦苦从网页上抓数据,但很多网站的API直接返回JSON——结构化、干净、不用爬DOM。学会处理JSON,你就从"网页搬运工"升级为"数据工程师"。 一、JSO…

作者头像 李华
网站建设 2026/7/10 10:05:54

如何快速批量添加专业水印:开源智能工具semi-utils的终极指南

如何快速批量添加专业水印:开源智能工具semi-utils的终极指南 【免费下载链接】semi-utils 一个批量添加相机机型和拍摄参数的工具,后续「可能」添加其他功能。 项目地址: https://gitcode.com/gh_mirrors/se/semi-utils 还在为几百张照片一张张手…

作者头像 李华