爬虫采集用代理IP怎么接入:从单请求到连接池-易代理
爬虫采集用代理IP,第一步不是“买大池子”,而是先把请求链路接对。很多脚本本地能通、上线就断,问题出在代理挂载方式、超时拆分和会话复用没做对。
一、代理IP在采集链路里的位置
本机客户端 → 代理网关 → 目标站。目标站只看到出口,不看真实机器。代理IP 解决的是“出口可调度”,不是帮请求绕过业务权限。
requests 基础写法:
pythonproxies = { "http": "http://user:pass@gate:port", "https": "http://user:pass@gate:port",
}
requests.get("https://httpbin.org/ip", proxies=proxies, timeout=(5, 15))注意 https 键后面仍是 http:// 网关,因为客户端先连代理、再由代理开 CONNECT 隧道。
二、Session 复用比每次新建更稳
单请求写法简单,但批量采集会频繁握手。用 Session 绑定代理:
pythonsession = requests.Session()
session.proxies = proxies
session.mount("https://", HTTPAdapter(pool_connections=10, pool_maxsize=20))Session 复用 TCP 和 TLS,耗时与失败率明显下降。易代理在隧道模式里把出口轮换放网关层,业务代码只配一个地址,不用自己维护提取逻辑。
三、超时必须拆连接和读取
只写 timeout=10 会混淆两件事:
连接超时:建隧道慢,代理层问题
读取超时:等响应慢,目标站或网络抖动
建议:
pythontimeout=(5, 15) # 连接5s,读取15s
监控里把两段耗时分开记,排障才不靠猜。
四、高匿代理减少请求特征暴露
透明代理会带 X-Forwarded-For,普通匿名会留 Via。生产采集只用高匿代理,回包里不出现真实来源和代理标识。
验证方式:打 /headers 接口,看是否泄露 IP 与代理头。高匿不是“隐身”,是让请求头更接近正常客户端。
五、异常分类决定换不换IP
连接拒绝:代理地址/端口错
407:鉴权失败
429:目标限频,降速不硬换
403:先查请求环境再换出口
TLS 错误:证书链或 SNI 问题
爬虫采集用代理IP,基础动作就四件:挂对代理、复用会话、拆开超时、分好异常。
相关标签:代理ip,ip代理,http代理,代理服务器ip,开放代理,文档中心,新闻,动态住宅ip,ip池,socks5代理