绕不过的IP封锁?试试这招“移形换影”
搞爬虫的兄弟都懂,现在反爬系统贼精,动不动就封IP。特别是用Selenium这种带浏览器特征的,简直就是活靶子。去年我有个项目,刚跑半小时就被封了200多个IP,气得差点把键盘砸了。
后来发现个邪招——给Selenium套个代理马甲。原理就跟玩网游开小号似的,每次登录都换个身份。这里推荐用ipipgo的动态住宅代理,他们家IP池子够深,我实测过连续24小时跑数据没被ban。
from selenium import webdriver proxy = "123.123.123.123:8888" ipipgo提供的代理地址 chrome_options = webdriver.ChromeOptions() chrome_options.add_argument(f'--proxy-server=http://{proxy}') driver = webdriver.Chrome(options=chrome_options)
别让网站看到你的真面目
光换IP还不够,得把浏览器指纹也改了。有些网站会通过WebRTC泄露真实IP,这时候就需要双重防护:
1. 禁用WebRTC泄露
chrome_options.add_argument("--disable-blink-features=AutomationControlled") chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
2. 随机化用户代理
设备类型 | 推荐方案 |
---|---|
Windows | 随机选择Chrome 120-124版本UA |
Mac | 使用Safari 16-17版本UA |
IP切换的节奏感很重要
见过太多新手犯这个错——要么换得太勤被当机器人,要么换太慢被封号。根据我趟过的坑,建议:
- 普通网站:每30-50个请求换次IP
- 严苛网站:每5-10次请求就得换
- 配合ipipgo的智能切换模式,能自动适配目标网站的检测频率
救命!IP池用完了怎么办?
有次双十一抢数据,IP池突然见底。后来发现要分级使用IP:
- 用数据中心IP做首轮探测
- 住宅IP处理核心数据采集
- 保留5%的移动IP应对突发情况
ipipgo的混合代理池正好支持这种策略,不同场景自动切换IP类型,省心不少。
实战避坑指南
最近帮朋友调了个爬虫项目,用这些配置三天抓了50万数据:
代理认证自动处理 proxy_auth_plugin = create_proxy_extension( proxy_host="gateway.ipipgo.com", proxy_port=9021, proxy_user="你的账号", proxy_pass="动态密钥" ) chrome_options.add_extension(proxy_auth_plugin)
常见问题QA
Q:代理经常连接超时怎么办?
A:检查是否开启会话保持功能,ipipgo后台可以设置长连接模式
Q:怎么验证代理是否生效?
A:访问http://ip.ipipgo.com/checkip 能看到当前使用的出口IP
Q:企业级项目需要什么配置?
A:直接联系ipipgo客服开通专线代理,支持每秒100+并发切换
这些招数都是真金白银买来的教训,特别是配合ipipgo的智能路由功能,能自动绕过被标记的IP段。最近他们新出了浏览器指纹防护套餐,准备下个月试试水,到时候再跟大家分享实测效果。