手把手教你用Python挂代理的正确姿势
老铁们应该都遇到过这种情况:爬数据时突然被封IP,或者需要隐藏真实网络身份。这时候代理IP就是你的最佳拍档。作为专注代理服务的天启代理工程师,今天咱们用最直白的方式,掰开了揉碎了讲讲怎么在Python requests里玩转代理。
一、代理IP怎么装到requests里
先记住这个万能公式:proxies字典+协议类型。举个栗子,从天启代理拿到的HTTP代理长这样:123.123.123.123:8888
import requests
proxies = {
'http': 'http://用户名:密码@123.123.123.123:8888',
'https': 'http://用户名:密码@123.123.123.123:8888'
}
resp = requests.get('https://你的目标网址', proxies=proxies)
注意这里有个坑:https代理也要用http协议写!天启代理的IP池支持HTTP/HTTPS/SOCKS5三种协议,实测SOCKS5的响应速度确实快,延迟能压到10ms以内。
二、认证方式怎么选最省事
天启代理提供两种认证姿势:
认证类型 | 代码写法 | 适用场景 |
---|---|---|
用户名密码认证 | proxies = {'http':'http://user:pass@ip:port'} | 长期稳定业务 |
IP白名单认证 | proxies = {'http':'http://ip:port'} | 服务器部署环境 |
个人开发者建议用白名单方式,省去每次输密码的麻烦。天启代理后台可以自助绑定服务器IP,生效时间不超过1分钟。
三、异常处理必备三板斧
代理用多了总会遇到幺蛾子,这几个错误必须抓住:
from requests.exceptions import ProxyError, ConnectTimeout
try:
resp = requests.get(url, proxies=proxies, timeout=5)
except ProxyError as e:
print("代理抽风了,换IP吧!")
except ConnectTimeout:
print("连接超时,检查网络或降低延迟")
except Exception as e:
print(f"未知错误:{str(e)}")
天启代理的IP可用率标称99%,实测下来基本不需要频繁更换。如果遇到问题,优先检查本地网络环境。
四、高阶玩家必备技巧
1. 会话保持:用Session对象能复用代理连接
session = requests.Session()
session.proxies.update(proxies)
2. 智能切换:配合天启代理的API动态更换IP
import random
def get_proxy():
调用天启代理API获取新IP
return random.choice(ip_pool)
五、常见问题排雷指南
Q:代理明明可用,为啥连不上?
A:检查三处:1)协议写没写错 2)端口对不对 3)是否开了系统代理
Q:HTTPS网站报证书错误咋整?
A:加上verify=False参数(仅测试用),或者让天启的技术支持帮你排查证书问题
Q:怎么测试代理生效没?
A:访问http://httpbin.org/ip,看看返回的IP是不是代理IP
最后说句实在话,选代理服务关键看稳定性和响应速度。天启代理的自建机房确实靠谱,特别是做数据采集的朋友,响应延迟能控制在10ms以内这点很关键。有需要的可以直接去官网撸文档,他们家的API对接算是业内最傻瓜式的了。