国外IP代理推荐:
IPIPGO|全球住宅代理IP(>>>点击注册免费测试<<<)
国内IP代理推荐:
天启|全国240+城市代理IP(>>>点击注册免费测试<<<)
一、爬虫老被封?试试这个生存技巧
最近有个做电商的朋友吐槽,他用PHP写的数据采集脚本总被目标网站封IP。这事儿我太熟了——当年自己写爬虫踩过的坑,现在看都是血泪史。别急,今天手把手教你用代理IP给爬虫续命,就拿咱们常用的cURL库来实战。

先上段基础代码热热身:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'HTTPs://目标网站.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
这代码放三年前还能用,现在?分分钟给你返回403。重点来了——给cURL挂代理!这里推荐用ipipgo的住宅代理,他们家的IP都是真实家庭网络,比机房IP难识别多了。
二、代理ip的正确打开姿势
在PHP里加代理就两行代码的事,但细节决定成败:
curl_setopt($ch, CURLOPT_PROXY, 'gateway.ipipgo.com:8000');
curl_setopt($ch, CURLOPT_PROXYUSERPWD, '用户名:密码');
注意!很多新手栽在代理协议上。ipipgo支持HTTP/HTTPS/socks5全协议,根据目标网站情况灵活切换。比如爬国外电商站,用他们的美国住宅IP配SOCKS5协议,亲测成功率提升60%不止。
| 场景 | 推荐配置 |
|---|---|
| 常规网页 | HTTP代理+随机切换IP |
| 加密网站 | HTTPS代理+长连接 |
| 高防网站 | Socks5+动态住宅IP |
三、数据解析的防坑指南
拿到网页源码只是开始,解析才是重头戏。别直接用正则了,DOMDocument+XPATH才是王道:
$dom = new DOMDocument();
@$dom->loadHTML($response);
$xpath = new DOMXPath($dom);
// 取商品价格
$price = $xpath->query('//span[@class="price"]')->item(0)->nodeValue;
遇到过解析不出数据的情况?可能是网站用了动态加载。这时候别头铁,挂上ipipgo的动态轮转代理,让每个请求都从不同IP发出,配合设置随机User-Agent,亲测能绕过90%的反爬。
四、实战QA急救包
Q:代理IP用着用着就失效咋整?
A:选支持自动切换的代理服务。像ipipgo的动态住宅IP池,每次请求自动换ip,根本不用手动处理。
Q:目标网站有验证码怎么办?
A:控制访问频率+更换IP组合拳。把cURL超时设长点,用ipipgo的9千万+住宅IP池,每个验证码用新IP访问。
Q:HTTPS网站爬取要注意啥?
A:加上这两行配置:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
最后说个真事:去年帮客户爬某服装网站,用普通代理死活过不了,换成ipipgo的静态长效住宅IP,挂上浏览器指纹模拟,直接畅通无阻。现在这脚本跑了小半年,数据采集从没掉过链子。
国外IP代理推荐:
IPIPGO|全球住宅代理IP(>>>点击注册免费测试<<<)
国内ip代理推荐:
天启|全国240+城市代理IP(>>>点击注册免费测试<<<)
















发表评论
发表评论: