我们知道PHP的file_get_content可以做采集,但遇到数据量比较大的时候,往往要花费较长时间,效率远远不如利用curl库采集。
如果你还不知道如何用file_get_content进行采集,可以参考:PHP采集指定的内容
那么我们可以使用php的curl库来进行采集。使用curl的多线程,另外curl可以设置请求时间,遇到很慢的url资源,可以果断的放弃,这样就没有了阻塞。
php的curl库进行采集的代码实例:
$curl = curl_init(); // 设置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, 'http://www.sina.com.cn/'); // 设置header curl_setopt($curl, CURLOPT_HEADER, 0); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 运行cURL,请求网页 $data = curl_exec($curl); if($data === false){ echo curl_error($curl);exit; } $info = curl_getinfo($curl); // 关闭URL请求 curl_close($curl); // 显示获得的数据 print_r($data);
使用curl后,再进行测试会发现,效率提高了好多。你可以分别使用file_get_contents和curl两种方式采集一些图片,比较所需时间,你就会发现curl的效率了。
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/534.html