IPIPGO ip代理 PHP抓取示例: CURL采集代码模板

PHP抓取示例: CURL采集代码模板

手把手教你用PHP搞网页采集 搞数据采集最怕啥?IP被封啊兄弟们!今天咱就唠唠怎么用PHP的CURL配合代理IP来保平安。先说个真事儿,我有个哥们儿做比价网站,没加代理直接硬刚,结果第二天服务器IP就被目标站…

PHP抓取示例: CURL采集代码模板

手把手教你用PHP搞网页采集

搞数据采集最怕啥?IP被封啊兄弟们!今天咱就唠唠怎么用PHP的CURL配合代理IP来保平安。先说个真事儿,我有个哥们儿做比价网站,没加代理直接硬刚,结果第二天服务器IP就被目标站拉黑名单了,现在改用ipipgo的代理池再也没翻过车。

基础款采集模板(带代理)


function crawlWithProxy($url) {
    $ch = curl_init();
    
    // 重点来了!这里设置代理服务器
    curl_setopt($ch, CURLOPT_PROXY, 'proxy.ipipgo.com:9021');
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, '用户名:密码'); 
    
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过https验证
    
    $output = curl_exec($ch);
    if(curl_errno($ch)){
        throw new Exception('抓取出错: '.curl_error($ch));
    }
    curl_close($ch);
    return $output;
}

// 用法示例
try {
    $html = crawlWithProxy('http://目标网站.com');
    echo $html;
} catch(Exception $e) {
    echo $e->getMessage();
}

注意看代理设置部分,这里用的ipipgo提供的代理地址。他们的格式一般是域名:端口,记得把账号密码换成自己注册的。用他家代理的好处是每次请求自动换IP,目标网站根本摸不清你的套路。

高级配置技巧

想让采集更稳?这几个参数得调好:


// 设置超时时间(单位秒)
curl_setopt($ch, CURLOPT_TIMEOUT, 15); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);

// 伪装浏览器头
$headers = [
    'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
    'Accept-Language: zh-CN,zh;q=0.9'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

// 自动处理重定向
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

特别提醒:用ipipgo的长效静态代理时,记得在后台设置白名单。要是用动态代理池的话,他们家的API接口可以直接获取最新代理列表,这个后面具体说。

实战常见坑点QA

Q:代理老是连接超时咋整?
A:先检查代理地址和端口对不对,然后试试调大CURLOPT_CONNECTTIMEOUT参数。如果用ipipgo遇到这情况,他们家客服响应速度贼快,后台提交工单5分钟必回。

Q:采集https网站要注意啥?
A:把CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST都设为false,虽然不太安全但能解决问题。或者去ipipgo官网下载CA证书,指定证书路径更稳妥。

Q:怎么自动切换代理IP?
A:ipipgo的动态代理服务自带这个功能,在代码里换成他们的API接口就行。比如:


$proxy = file_get_contents('https://api.ipipgo.com/dynamic?token=你的令牌');
curl_setopt($ch, CURLOPT_PROXY, $proxy);

ipipgo使用小贴士

他们家代理分三种套餐,根据需求选:

套餐类型 适用场景 推荐配置
动态轮转 高频采集 每请求自动换IP
静态长效 需要固定IP 24小时有效周期
定制专属 企业级需求 独享IP池+定制策略

新用户注册记得领2G免费流量包,足够测试用了。有个隐藏福利:在代码里用他们家的备用域名proxy2.ipipgo.net,有时候主域名被某些网站屏蔽了可以用这个。

最后说个骚操作:把采集脚本放crontab定时跑的时候,记得在代码里加个随机延迟sleep(mt_rand(1,5)),这样既模拟真人操作,又能避免触发目标网站的风控机制。配合ipipgo的代理,基本上可以做到无感采集,亲测有效!

本文由ipipgo原创或者整理发布,转载请注明出处。https://www.ipipgo.com/ipdaili/35404.html
新春惊喜狂欢,代理ip秒杀价!

专业国外代理ip服务商—IPIPGO

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

13260757327

在线咨询: QQ交谈

邮箱: hai.liu@xiaoxitech.com

工作时间:周一至周五,9:30-18:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部
zh_CN简体中文