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