Python代理IP基础设置教程
在需要批量访问网页数据时,普通请求容易被目标网站封禁。这里以requests库为例演示基础代理设置:
import requests
proxies = {
"http": "http://用户名:密码@ip地址:端口",
"https": "http://用户名:密码@ip地址:端口"
}
response = requests.get("目标网址", proxies=proxies, timeout=10)
注意需要将代码中的用户名、密码、IP地址和端口替换为实际参数。全民代理IP提供API直连模式,可直接生成带鉴权信息的代理地址。
两种免费代理获取方式对比
根据使用场景可选择不同的代理来源:
类型 | 稳定性 | 速度 | 适用场景 |
---|---|---|---|
公共代理池 | ★☆☆☆☆ | ★☆☆☆☆ | 临时测试 |
API动态接口 | ★★★★☆ | ★★★☆☆ | 生产环境 |
全民代理IP的动态IP池技术能自动切换可用节点,特别适合需要长期稳定运行的数据采集项目。
API接口调用实战教学
通过接口获取代理IP时,建议添加异常重试机制:
import json
from retrying import retry
@retry(stop_max_attempt_number=3)
def get_proxy():
api_url = "接口地址"
try:
res = requests.get(api_url)
return json.loads(res.text)['proxy']
except Exception as e:
print(f"获取失败: {str(e)}")
raise
调用时注意处理JSON解析异常和网络波动,全民代理IP的接口支持多协议格式返回,可根据项目需求选择文本或JSON格式。
常见问题解决方案
Q:代理IP突然失效怎么办?
A:建议使用心跳检测机制,每5分钟测试代理连通性,自动剔除失效节点
Q:如何避免被封IP?
A:设置随机请求间隔(0.5-3秒),配合User-Agent轮换使用,全民代理IP提供自动鉴权刷新功能
Q:HTTPS网站代理失败?
A:检查代理协议类型是否匹配,部分网站需要配置SSL证书,建议使用全民代理IP的HTTPS专用通道
代理IP调试技巧
测试代理是否生效时,可用以下方法验证:
查看实际出口IP
test_url = "http://httpbin.org/ip"
print(requests.get(test_url, proxies=proxies).json())
若返回的IP与设置的一致,说明代理生效。遇到连接超时的情况,可先尝试更换接入区域或调整超时参数,全民代理IP支持多节点选择功能。