本文实例讲述了php使用curl模拟多线程实现批处理功能。分享给大家供大家参考,具体如下:
php模拟多线程用到curl库,这个库很强大,可以做好多事,比如模拟登陆,文件上传/下载,数据采集等。
下面是我的代码,很简单,有些还功能还不会用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?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程序设计有所帮助。
原文链接:https://www.cnblogs.com/xshang/p/3735652.html