当前位置:首页 > PHP教程 > php高级应用 > 列表

php使用curl模拟多线程实现批处理功能示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-07 17:51:36 浏览: 评论:0 

本文实例讲述了php使用curl模拟多线程实现批处理功能,分享给大家供大家参考,具体如下:

php模拟多线程用到curl库,这个库很强大,可以做好多事,比如模拟登陆,文件上传/下载,数据采集等。

下面是我的代码,很简单,有些还功能还不会用。

  1. <?php 
  2. $node_urls=array('http://www.baidu.com','http://www.google.com.hk'); 
  3. $ch=array(); 
  4. $mh=curl_multi_init(); 
  5. $ch[0]=curl_init($node_urls[0]); 
  6. $ch[1]=curl_init($node_urls[1]); 
  7. for($i=0;$i<2;$i++) 
  8. curl_setopt($ch[$i],CURLOPT_RETURNTRANSFER,1); 
  9. curl_multi_add_handle($mh,$ch[$i]); 
  10. $running=NULL; 
  11. do
  12.   usleep(10000); 
  13.   curl_multi_exec($mh,$running); 
  14. }while($running>0); 
  15. $res=array(); 
  16. for($j=0;$j<2;$j++) 
  17.   $res[$j]=curl_multi_getcontent($ch[$j]); 
  18. for($k=0;$k<2;$k++) 
  19.   curl_multi_remove_handle($mh,$ch[$k]); 
  20. curl_multi_close($mh); 
  21. print_r($res); 
  22. ?> 

这段代码就是并行爬取百度和谷歌的代码,以后再慢慢完善。

还有好多事要做。

Tags: curl模拟多线程 php批处理

分享到: