利用php的curl扩展进行模拟浏览器访问网页


我们一般要抓取一个网站的静态页面来完成我们的需求,其实在这里面有很多种方式可以完成,

php内置函数file_get_contents();file();readfile();都可以进行网页抓取,但是这种方式毕竟是有很大

局限性的,例如我们要访问一个需要登录的网站,需要登录验证信息,这是后php内置函数就显得疲软了

所以我们发现了一个php的扩展类curl来帮助我们完成这种事情,curl是php的扩展之一我们只需要安装它

并且在php.ini文件中打开他的扩展就可以使用了,这里我们不多赘述,其实curl使用起来还是蛮简单的下面

我们给出一个简单的demo:

<?php
$url = "www.baidu.com";//以百度为例
$data = array();
$curl = curl_init();//初始化一个curl会话;

curl_setopt($curl,CURLOPT_URL,$url);//指定访问的url

curl_setopt($curl,CURLOPT_POST,$data);//post请求的参数,

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//获取的信息以文件流的方式返回

$data = curl_exec($curl);//执行curl;
var_dump($data);
curl_close($curl); // 关闭CURL会话

?>

这就完成了一次curl会话,大家感觉是不是没什么特别之处?,别急,我们来看看他的精髓之处就是可以传参数,当然什么cookies呀!验证的这些东西就可以通过这个来完成,

curl参数很多这里就不一一介绍了;

另外推荐大家去看一看snoopy抓取类也是不错的一个工具,simple_html_dom文档解析也很不错。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM