我们一般要抓取一个网站的静态页面来完成我们的需求,其实在这里面有很多种方式可以完成,
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文档解析也很不错。