这篇文章主要介绍“php curl抓取网页的方法”,在日常操作中,相信很多人在php curl抓取网页的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php curl抓取网页的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
php的curl可以用来实现抓取网页,分析网页数据用, 简洁易用, 这里介绍其函数等就不详细描述, 放上代码看看
function curl_string($url, $user_agent, $proxy, $referer_url)
{
//$header[]="Cookie: ".$cookie;
$ch = curl_init();
curl_setopt($ch, CURLOPT_PROXY, $proxy);
//设置代理
// curl_setopt ($ch, CURLOPT_HTTPHEADER,$header); //伪装header
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
//设置头部
curl_setopt($ch, CURLOPT_REFERER, $referer_url);
//设置来源
curl_setopt($ch, CURLOPT_ENCODING, "gzip");
// 编码压缩
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//是否采集301、302之后的页面
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HEADER, 0);
//输出头部
$result = curl_exec($ch);
if (!$result) {
$result = curl_error($ch);
}
curl_close($ch);
return $result;
}
function curl_pay($url, $user_agent, $proxy, $referer_url, $cookie, $data, $isxml = 0)
{
global $cookie;
global $user_agent;
$header[] = 'Cookie: ' . $cookie;
if ($isxml) {
$header[] = 'Content-Type:application/json';
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_PROXY, $proxy);
//设置代理
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
//伪装header
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
//设置头部
curl_setopt($ch, CURLOPT_REFERER, $referer_url);
//设置来源
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_ENCODING, "gzip");
// 编码压缩
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//是否采集301、302之后的页面
curl_setopt($ch, CURLOPT_TIMEOUT, 180);
//curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
if (!$result) {
$result = curl_error($ch);
echo $result;
}
curl_close($ch);
return $result;
}
到此,关于“php curl抓取网页的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!