共计 905 个字符,预计需要花费 3 分钟才能阅读完成。
分享一个 php 脚本,应用代理 ip 来拜访网页,不便抓取数据什么的~
什么状况下会用到代理 IP?比方你要抓取一个网站数据,该网站有 100 万条内容,他们做了 IP 限度,每个 IP 每小时只能抓 1000 条,如果单个 IP 去抓因为受限,须要 40 天左右能力采集完,如果用了代理 IP,不停的切换 IP,就能够冲破每小时 1000 条的频率限度,从而提高效率。
脚本开始:
<?php
$gourl = “https://www.dchuanbao.com/xy/286062883”;
$ch = curl_init();
$proxy = “ip:端口 ”;
curl_setopt($ch, CURLOPT_URL, $gourl);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// 代理
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
// 自定义 header
$headers = array();
$headers[“user-agent”] = ‘User-Agent: 浏览器 ua;’;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// 自定义 cookie
curl_setopt($ch, CURLOPT_COOKIE,’cookie 内容 ’);
curl_setopt($ch, CURLOPT_ENCODING, ‘gzip’); //gzip
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
代码通过测试,简略粗犷!