
一、为啥要给wget穿件”马甲”?
用wget下东西就像裸奔——服务器一看User-Agent就知道是机器人来访。很多网站对这种”光溜溜”的请求特别敏感,轻则限制速度,重则直接封IP。去年有个做数据采集的朋友跟我吐槽,说他刚用wget抓了200页,整个机房IP段都被拉黑了,这时候才想起要伪装User-Agent。
这里有个冷知识:某些网站不仅看User-Agent,还会检查请求频率、cookie轨迹等。单靠改UA还不够,得配合代理IP才能完美伪装。就像玩捉迷藏,不仅要戴面具,还得不断换藏身地点。
二、手把手教你给wget换装
先看个基础操作:
wget --user-agent="Mozilla/5.0 (Windows NT 10.0)..." https://example.com
但这样每次都要敲命令太麻烦,可以修改wget配置文件(~/.wgetrc):
header = User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...
进阶玩法是准备多个UA轮换:
| 设备类型 | 推荐UA模板 |
|---|---|
| 安卓手机 | Mozilla/5.0 (Linux; Android 13)… |
| 苹果电脑 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)… |
| Windows PC | Mozilla/5.0 (Windows NT 10.0; Win64; x64)… |
三、给wget配上”瞬移术”
光换UA就像只换衣服不换脸——迟早被认出来。这时候就需要代理IP来改头换面。以ipipgo的代理服务为例,配置方法贼简单:
wget -e use_proxy=yes -e http_proxy=123.123.123.123:8888 https://target.com
注意要同时设置协议类型:
- HTTP代理用–proxy-user和–proxy-password参数
- Socks5代理需要先安装tsocks或proxychains
这里要夸下ipipgo的动态住宅IP池,每次请求自动换IP,配合UA伪装,成功率能提到90%以上。他们家的IP存活时间控制得刚刚好,既不会浪费资源,又能保证任务连续性。
四、防封禁的三重结界
根据实测经验,完整的防护应该这样搭配:
- 每10次请求更换UA
- 每次请求更换ipipgo的代理IP
- 随机间隔1-5秒发送请求
记得在脚本里加上异常处理,遇到429状态码就自动切换IP。这里有个小技巧:把ipipgo的API集成到脚本里,当检测到IP被封时,自动申请新IP继续任务。
五、实战QA急救箱
Q:设置了UA还是被识别为机器人?
A:检查请求头是否完整,有些网站会验证Accept-Language等字段。建议用浏览器开发者工具复制完整请求头。
Q:代理IP用着用着就失效?
A:这种情况建议改用ipipgo的长效静态住宅IP,单个IP可用24小时,适合需要保持会话的场景。
Q:怎么测试伪装效果?
A:访问https://httpbin.org/user-agent 查看返回的UA信息,或用在线指纹检测工具验证浏览器特征。
最后唠叨一句:别贪便宜用免费代理,那些IP早被各网站记在小本本上了。像ipipgo这种专业服务虽然要花钱,但能省下折腾的时间成本,关键数据安全也有保障。毕竟,用真代理才敢说真流量嘛!

