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
29
30
31
32
33 |
<?php $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); ?> |
这段代码就是并行爬取百度和谷歌的代码,以后再慢慢完善。
还有好多事要做。
原文:http://www.cnblogs.com/xshang/p/3735652.html