
手把手教你给爬虫挂上代理IP
搞爬虫的兄弟都知道,网站反爬机制越来越狠,动不动就封IP。这时候就得靠代理IP来续命了。今天咱们不讲虚的,直接上干货,教你在Scrapy和requests里怎么玩转代理IP配置。
一、Scrapy中间件配置秘籍
Scrapy自带的中间件机制贼好用,咱们先在项目里新建个middlewares.py文件,塞进去这段代码:
class ProxyMiddleware(object):
def process_request(self, request, spider):
proxy = "http://用户名:密码@gateway.ipipgo.com:端口"
request.meta['proxy'] = proxy
这里推荐用ipipgo的动态住宅代理
他们家代理格式是http://用户秘钥@网关地址:端口
接着到settings.py里打开开关:
DOWNLOADER_MIDDLEWARES = {
'你的项目名.middlewares.ProxyMiddleware': 543,
}
注意!用ipipgo代理时,记得把用户秘钥换成自己的认证信息。他们家动态代理支持同时挂500+个请求,适合大规模采集任务。
二、Requests库代理配置绝活
用requests库更简单,直接往请求里塞proxies参数就行:
import requests
proxies = {
'http': 'socks5://用户秘钥@gateway.ipipgo.com:端口',
'https': 'socks5://用户秘钥@gateway.ipipgo.com:端口'
}
resp = requests.get('目标网址', proxies=proxies)
这里有个坑要注意:协议类型别搞混!ipipgo同时支持HTTP和SOCKS5协议,如果是抓HTTPS网站,建议直接用SOCKS5更稳当。
三、代理IP实战避坑指南
这里整理个配置参数对照表,帮你少走弯路:
| 参数项 | 示例值 | 注意事项 |
|---|---|---|
| 协议类型 | socks5 | 根据目标网站协议选 |
| 认证方式 | 用户秘钥@网关 | ipipgo不需要单独密码 |
| 超时设置 | 30秒 | 别设太短会误杀 |
四、常见问题急救包
Q:代理老是连不上咋整?
A:先检查白名单设置,ipipgo需要绑定服务器IP。再试下手动curl测试:
curl --socks5 网关地址:端口 -U 用户秘钥 目标网址
Q:怎么知道代理生效了?
A:在代码里加个打印语句,或者直接访问http://ip.ipipgo.com/checkip 看返回的IP地址。
Q:遇到403反爬怎么办?
A:换ipipgo的静态住宅代理,他们家静态IP存活时间最长72小时,适合需要稳定会话的场景。
五、为什么选ipipgo代理
这家的动态住宅代理有三大杀器:
- 9000万+真实家庭IP池,每天自动更新
- 支持精确到城市级别的定位(比如只要芝加哥的IP)
- 按实际流量计费,用多少算多少不浪费
特别是做跨境电商的朋友,他们家的静态住宅代理可以直接绑定店铺后台IP,完美解决账号风控问题。新用户注册还送5G流量试用,够跑个小项目测试效果了。
最后提醒下,代理IP不是万能药,要配合随机UA、请求频率控制这些手段才能发挥最大效果。遇到技术问题可以直接找ipipgo的技术支持,响应速度比很多大厂都快。

