MachiealFactory 2019-07-25
本文实例讲述了php使用curl模拟多线程实现批处理功能。分享给大家供大家参考,具体如下:
php模拟多线程用到curl库,这个库很强大,可以做好多事,比如模拟登陆,文件上传/下载,数据采集等。
下面是我的代码,很简单,有些还功能还不会用。
<?php $node_urls=array('http://www.baidu.com','http://www.google.com.hk'); $ch=array(); $mh=curl_multi_init(); $ch[0]=curl_init($node_urls[0]); $ch[1]=curl_init($node_urls[1]); for($i=0;$i<2;$i++) { curl_setopt($ch[$i],CURLOPT_RETURNTRANSFER,1); curl_multi_add_handle($mh,$ch[$i]); } $running=NULL; do{ usleep(10000); curl_multi_exec($mh,$running); }while($running>0); $res=array(); for($j=0;$j<2;$j++) { $res[$j]=curl_multi_getcontent($ch[$j]); } for($k=0;$k<2;$k++) { curl_multi_remove_handle($mh,$ch[$k]); } curl_multi_close($mh); print_r($res); ?>
这段代码就是并行爬取百度和谷歌的代码,以后再慢慢完善。
还有好多事要做。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》及《PHP中json格式数据操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。