pcntl多线程采集入库示例
php备忘

<?php header("Content-type: text/html; charset=utf-8"); $mainurl = "http://www.wdzj.com/dangan/"; $maincontent = file_get_contents($mainurl); preg_match_all("/条数据<strong>1<\/strong>\/<strong>(.*)<\/strong>/iUs",trim($maincontent),$dd); $maincount = $dd[1][0]; $time = time(); for($i=1;$i<=$maincount;$i++){ $pid[$i] = pcntl_fork(); switch($pid[$i]){ case "-1": echo "fork error:{$i}\r\n"; break; case "0": $mainpost_url = "http://www.wdzj.com/front_select-plat"; $maindata["currPage"] = $i; $maindata["params"] = ""; $maindata["sort"] ="0"; $maincoo = CurlPost($mainpost_url,$maindata); $mianlist = json_decode($maincoo,true); foreach($mianlist['list'] as $keyy=>$valuee){ $url = 'http://www.wdzj.com/dangan/'.$valuee['platPin']; if($valuee['platStatus']==1){ mysql_connect("localhost","root",""); mysql_select_db("caiji"); $sql = "insert into `lzh_wdzj_dangan` set `name`='{$valuee['platName']}',`platId`='{$valuee['platId']}',`url`='{$url}',`platPin`='{$valuee['platPin']}',`update_time`='{$time}'"; var_dump(mysql_query($sql)); echo "采集{$url}成功!"; } } sleep(3); exit(); break; default: pcntl_waitpid($pid[$i],$status,WNOHANG); break; } } function CurlPost($url,$data){ $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data ); $return = curl_exec ( $ch ); curl_close ( $ch ); return $return; }