当前位置: 首页 > 后端技术 > PHP

爬虫两种不同的代理使用模式

时间:2023-03-30 01:31:55 PHP

在使用爬虫的过程中,很容易遇到反爬机制禁用ip,可以使用代理ip来解决ip被封的问题。但是网上有很多ip代理,你应该选择哪一个呢?本文选用亿牛云代理(官网地址www.16yun.cn)进行演示,使用php语言,如果需要大规模爬取,可以尝试python。在官网上我们可以看到代理有两种方式,一种是api方式,一种是隧道方式。api方式是我们爬虫最常用的,就是给你提供url连接,你的程序会自动获取代理信息。这种模式适合你管理ip池,控制ip的使用。ip的有效时间为2到10分钟;隧道模式会给你提供一个固定的服务器ip地址信息,包括ip:端口:用户名:密码,只需要proxy在程序里配置好这些信息后就可以使用了,他们会在程序里自动切换IP背景。这种模式非常方便和简单。第一种方式,代理提供商会给你提供一个api接口,你可以通过这个接口获取ip和端口号。但是这些ip的时效是2到10分钟,所以我建立了一个ip池,每两分钟更新一次ip池,保证这些ip每次使用都是有效的。第二种方式是直接查看亿牛云代理访问文档的php代码,这个是动态转发方式["proxy"=>PROXY_SERVER,"header"=>$headers,"method"=>"GET",'request_fulluri'=>true,],'ssl'=>array('SNI_enabled'=>true,//通过http代理为https禁用SNI'SNI_server_name'=>$sniServer)];print($url);$context=stream\_context\_create($options);$result=file\_get\_contents($url,false,$context);var_dump($result);//访问HTTPS页面print($urls);$context=stream\_context\_create($options);$结果=文件\_get\_contents($urls,false,$context);var_dump($result);?>经过一周的测试,代理效率在90%以上。总体来说效果很好,尤其是稳定性