本文實例講述了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;$i2;$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;$j2;$j++)
{
$res[$j]=curl_multi_getcontent($ch[$j]);
}
for($k=0;$k2;$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程序設計有所幫助。
您可能感興趣的文章:- php swoole多進程/多線程用法示例【基于php7nts版】
- 淺談php使用curl模擬多線程發送請求
- 實例講解php實現多線程
- php使用curl_init()和curl_multi_init()多線程的速度比較詳解
- PHP多線程模擬實現秒殺搶單
- PHP7多線程搭建教程
- PHP中多線程的兩個實現方法
- php中foreach結合curl實現多線程的方法分析
- PHP基于進程控制函數實現多線程