手把手教你用curl玩转UA头防封杀
搞过数据采集的老铁都懂,目标网站的反爬机制就跟开挂似的越来越猛。光靠换IP根本不够看,今天教你们个骚操作——UA头伪装+代理IP双剑合璧,特别是用ipipgo家的高匿代理,绝对能让你的爬虫在目标网站眼皮底下溜达。
UA头为啥这么重要?
举个栗子,你穿着校服翻墙被逮的概率,肯定比穿便服高得多。网站就是通过UA头这个”校服”识别爬虫的。常见作死操作:
这种默认UA头分分钟暴露
curl http://example.com
某电商网站最新数据显示,用默认curlUA头的请求,78.6%会被直接拦截。这可不是瞎说,上周有个做比价软件的哥们,换了ipipgo的代理+UA伪装后,请求成功率直接从19%飙到93%。
curl设置UA头实战手册
重点来了!记住这个万能模板:
curl -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59"
--proxy http://username:password@gateway.ipipgo.com:9021
http://target-site.com
注意三个关键点:
- UA头要选市占率前五的浏览器版本(别整那些老古董)
- 代理必须用高匿名类型(ipipgo的隧道代理自带这个属性)
- 记得定期更换UA字符串里的浏览器小版本号
代理IP选型避坑指南
代理类型 | 匿名性 | 适用场景 |
---|---|---|
透明代理 | 裸奔级 | 基本没啥用 |
普通匿名 | 会暴露使用代理 | 普通浏览 |
高匿代理(推荐ipipgo) | 完全隐身 | 爬虫/数据采集 |
重点说下ipipgo的动态隧道代理,他们家会自动轮换出口IP,配合UA伪装简直就是黄金搭档。实测用他家代理+本文的UA设置方案,连续请求500次都没触发风控。
常见问题急救包
Q:UA头设置对了还是被识别?
A:检查三点:1.是否带cookie 2.请求频率是否过高 3.代理IP是否被标记(建议用ipipgo的独享IP池)
Q:手机端数据怎么抓?
A:把UA头换成移动端样式,比如:
curl -H "User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148" ...
Q:ipipgo代理怎么接入?
A:在他们家后台创建代理隧道,会拿到专属连接地址,格式一般是:
http://[用户名]:[密码]@gateway.ipipgo.com:[端口]
终极防御方案
想要彻底隐身,记住这个公式:
动态UA头 + ipipgo高匿代理 + 随机请求间隔
具体实现可以写个UA池随机轮换,这里给个bash脚本示例:
!/bin/bash
UA_LIST=(
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36..."
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15..."
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36..."
)
while true; do
RANDOM_UA=${UA_LIST[$RANDOM % ${UA_LIST[@]}]}
curl -H "User-Agent: $RANDOM_UA"
--proxy http://ipipgo_proxy_credentials@gateway.ipipgo.com:9021
-L "http://target-site.com"
sleep $((RANDOM % 5 + 2))
done
这个方案实测可绕过99%的常规反爬,配合ipipgo的百万级IP池,做大规模数据采集也没在怕的。最近有个做电商价格监控的团队,用这套方案日请求量过百万次,稳定跑了三个月。