
手把手教你用Python requests配配置代理IP
兄弟们做爬虫最怕啥?当然是IP被封啊!辛辛苦苦写的代码跑一半就被目标网站拉黑,这时候就得靠代理IP来救场。今天咱们就拿Python的requests库开刀,教你怎么用代理IP避免被封号。
import requests
proxies = {
'http': 'http://用户名:密码@ip地址:端口',
'https': 'https://用户名:密码@ip地址:端口'
}
response = requests.get('目标网址', proxies=proxies)
注意看这个proxies字典,这里要特别注意协议头别写反了。很多新手栽跟头就是因为把http和https的代理地址搞混了,结果死活连不上。推荐直接用ipipgo家的代理,他们家自动适配协议,省心得很。
代理IP的三种打开方式
第一种是临时用,适合偶尔需要换IP的场景:
单次请求使用代理
requests.get('网址', proxies={'http':'http://ip:port'})
第二种是全局设置,适合所有请求都要走代理的情况:
全局代理设置
session = requests.Session()
session.proxies.update({'http':'http://ip:port'})
第三种是自动轮换,这个就得上ipipgo的动态代理套餐了。他们家的代理池够大,自动切换IP根本停不下来:
from itertools import cycle
proxy_list = ['ip1:port','ip2:port','ip3:port'] 这里填ipipgo提供的代理列表
proxy_pool = cycle(proxy_list)
每次请求自动换IP
for _ in range(10):
proxy = next(proxy_pool)
requests.get('网址', proxies={'http':f'http://{proxy}'})
躲坑指南(必看!)
1. 超时设置千万别忘:代理服务器抽风是常有的事,不加timeout参数程序分分钟卡死
requests.get('网址', proxies=proxies, timeout=10)
2. 异常处理要到位:建议用try-except把请求包起来,遇到连接失败自动重试
3. IP质量最关键:自己找的免费代理十个有九个不能用,推荐直接用ipipgo的商业代理,实测可用率能到99%
实战QA环节
Q:代理明明配对了,为啥还是连不上?
A:先检查代理格式,确保是”协议://IP:端口”的格式。如果用ipipgo的代理,注意看后台给的连接示例,他们家有些套餐需要加账号密码
Q:怎么知道代理是否生效?
A:可以用这个测试网站:http://httpbin.org/ip,返回的IP变了说明代理生效
Q:高并发场景怎么玩转代理?
A:上ipipgo的独享代理套餐,配合多线程+代理池,记得控制请求频率
为什么推荐ipipgo?
| 优势 | 具体表现 |
|---|---|
| 响应速度 | 平均延迟<200ms |
| 可用率 | 99.9% SLA保障 |
| 匿名性 | 高匿名代理,完全不透传X-Forwarded-For |
| 售后服务 | 7×24小时技术支持,随时处理问题 |
最后给个小技巧:用ipipgo的代理记得开他们的API动态获取IP,比自己维护代理池省心多了。新用户注册还送10G流量,够你测试用了。代码写得好不如代理选得妙,这话真不是吹的!

