亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php結合curl實現多線程抓取

2020-03-22 17:39:51
字體:
來源:轉載
供稿:網友
curl_setopt($conn[$k], CURLOPT_TIMEOUT, $timeout);//設置超時時間 curl_setopt($conn[$k], CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($conn[$k], CURLOPT_MAXREDIRS, 7);//HTTp定向級別 curl_setopt($conn[$k], CURLOPT_HEADER, 0);//這里不要header,加塊效率 curl_setopt($conn[$k], CURLOPT_FOLLOWLOCATION, 1); // 302 redirect curl_setopt($conn[$k],CURLOPT_RETURNTRANSFER,1); curl_multi_add_handle ($mh,$conn[$k]); //防止死循環耗死cpu 這段是根據網上的寫法 do { $mrc = curl_multi_exec($mh,$active);//當無數據,active=true } while ($mrc == CURLM_CALL_MULTI_PERFORM);//當正在接受數據時 while ($active and $mrc == CURLM_OK) {//當無數據時或請求暫停時,active=true if (curl_multi_select($mh) != -1) { do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); foreach ($array as $k = $url) { curl_error($conn[$k]); $res[$k]=curl_multi_getcontent($conn[$k]);//獲得返回信息 $header[$k]=curl_getinfo($conn[$k]);//返回頭信息 curl_close($conn[$k]);//關閉語柄 curl_multi_remove_handle($mh , $conn[$k]); //釋放資源 curl_multi_close($mh); $endtime = getmicrotime(); $diff_time = $endtime - $startime; return array('diff_time'= $diff_time, 'return'= $res, 'header'= $header //計算當前時間 function getmicrotime() { list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); //測試一下,curl 三個網址 $array = array( "http://www.weibo.com/", "http://www.renren.com/", "http://www.qq.com/" $data = Curl_http($array,'10');//調用 var_dump($data);//輸出//如果POST的數據大于1024字節,curl并不會直接就發起POST請求//發送請求時,header中包含一個空的Expect。curl_setopt($ch, CURLOPT_HTTPHEADER, array("Expect:"));我們再來看幾個例子(1)下面這段代碼是實現抓取多個URL,然后將抓取的URL的頁面代碼寫入指定的文件$urls = array('http://www.phpstudy.net/','http://www.google.com/','http://www.example.com/'); // 設置要抓取的頁面URL$save_to='/test.txt'; // 把抓取的代碼寫入該文件$st = fopen($save_to,"a");$mh = curl_multi_init();foreach ($urls as $i = $url) {$conn[$i] = curl_init($url);curl_setopt($conn[$i], CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");curl_setopt($conn[$i], CURLOPT_HEADER ,0);curl_setopt($conn[$i], CURLOPT_CONNECTTIMEOUT,60);curl_setopt($conn[$i], CURLOPT_FILE,$st); // 將爬取的代碼寫入文件curl_multi_add_handle ($mh,$conn[$i]);} // 初始化curl_multi_exec($mh,$active);} while ($active); // 執行foreach ($urls as $i = $url) {curl_multi_remove_handle($mh,$conn[$i]);curl_close($conn[$i]);} // 結束清理curl_multi_close($mh);fclose($st);(2)下面這段代碼和上面差不多意思,只不過這個地方是將獲得的代碼先放入變量,然后再將獲取到的內容寫入指定的文件$urls = array('http://www.phpstudy.net/','http://www.google.com/','http://www.example.com/'$save_to='/test.txt'; // 把抓取的代碼寫入該文件$st = fopen($save_to,"a");$mh = curl_multi_init();foreach ($urls as $i = $url) {$conn[$i] = curl_init($url);curl_setopt($conn[$i], CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");curl_setopt($conn[$i], CURLOPT_HEADER ,0);curl_setopt($conn[$i], CURLOPT_CONNECTTIMEOUT,60);curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,true); // 不將爬取代碼寫到瀏覽器,而是轉化為字符串curl_multi_add_handle ($mh,$conn[$i]);curl_multi_exec($mh,$active);} while ($active);foreach ($urls as $i = $url) {$data = curl_multi_getcontent($conn[$i]); // 獲得爬取的代碼字符串fwrite($st,$data); // 將字符串寫入文件} // 獲得數據變量,并寫入文件foreach ($urls as $i = $url) {curl_multi_remove_handle($mh,$conn[$i]);curl_close($conn[$i]);curl_multi_close($mh);fclose($st);(3)下面這段代碼實現的是利用 PHP 的 Curl Functions 實現并發多線程下載文件$urls=array( 'http://www.phpstudy.net/5w.zip', 'http://www.phpstudy.net/5w.zip', 'http://www.phpstudy.net/5w.zip'$save_to='./home/';$mh=curl_multi_init();foreach($urls as $i= $url){ $g=$save_to.basename($url); if(!is_file($g)){ $conn[$i]=curl_init($url); $fp[$i]=fopen($g,"w"); curl_setopt($conn[$i],CURLOPT_USERAGENT,"Mozilla/4.0(compatible; MSIE 7.0; Windows NT 6.0)"); curl_setopt($conn[$i],CURLOPT_FILE,$fp[$i]); curl_setopt($conn[$i],CURLOPT_HEADER ,0); curl_setopt($conn[$i],CURLOPT_CONNECTTIMEOUT,60); curl_multi_add_handle($mh,$conn[$i]); $n=curl_multi_exec($mh,$active);}while($active);foreach($urls as $i= $url){ curl_multi_remove_handle($mh,$conn[$i]); curl_close($conn[$i]); fclose($fp[$i]);curl_multi_close($mh);$urls=array( 'http://www.phpstudy.net/5w.zip', 'http://www.phpstudy.net/5w.zip', 'http://www.phpstudy.net/5w.zip'$save_to='./home/';$mh=curl_multi_init();foreach($urls as $i= $url){ $g=$save_to.basename($url); if(!is_file($g)){ $conn[$i]=curl_init($url); $fp[$i]=fopen($g,"w"); curl_setopt($conn[$i],CURLOPT_USERAGENT,"Mozilla/4.0(compatible; MSIE 7.0; Windows NT 6.0)"); curl_setopt($conn[$i],CURLOPT_FILE,$fp[$i]); curl_setopt($conn[$i],CURLOPT_HEADER ,0); curl_setopt($conn[$i],CURLOPT_CONNECTTIMEOUT,60); curl_multi_add_handle($mh,$conn[$i]); $n=curl_multi_exec($mh,$active);}while($active);foreach($urls as $i= $url){ curl_multi_remove_handle($mh,$conn[$i]); curl_close($conn[$i]); fclose($fp[$i]);curl_multi_close($mh);以上所述就是本文的全部內容了,希望大家能夠喜歡。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中国人与牲禽动交精品| 欧美日韩电影在线观看| 亚洲图片在线综合| 久久久久五月天| 中文字幕久热精品在线视频| 国产精品视频白浆免费视频| 亚洲美女喷白浆| 日韩精品中文字幕视频在线| 国产91久久婷婷一区二区| 国产999精品久久久影片官网| 最近2019中文字幕一页二页| 欧美极品少妇xxxxⅹ免费视频| 欧美一级大片在线观看| 亚洲成人aaa| 国产色视频一区| 日韩精品999| 午夜精品免费视频| 久久久电影免费观看完整版| 亚洲国产欧美一区二区丝袜黑人| 91性高湖久久久久久久久_久久99| 中文字幕视频在线免费欧美日韩综合在线看| 国产精品成av人在线视午夜片| 国产日韩欧美自拍| 2019亚洲日韩新视频| 91麻豆国产语对白在线观看| 亚洲天堂av网| 欧美亚洲视频在线看网址| 日韩免费在线电影| 欧美高清在线播放| 亚洲精品自拍视频| 久久久久久久久中文字幕| 亚洲国产精品久久久久久| 国产亚洲美女久久| 欧美日韩在线观看视频小说| 中文字幕日韩欧美在线视频| 在线视频欧美日韩精品| 亚洲人成网7777777国产| 日韩av黄色在线观看| 91av在线网站| 日韩视频亚洲视频| 成人国产精品久久久| 国产精品久久久久久久app| 亚洲欧美日韩精品久久亚洲区| 在线观看91久久久久久| 日韩一二三在线视频播| 日韩视频免费大全中文字幕| 人体精品一二三区| 欧美日韩在线观看视频| 北条麻妃99精品青青久久| 色视频www在线播放国产成人| 精品国产91久久久久久老师| 成人免费大片黄在线播放| 精品成人乱色一区二区| 国产精品久久久久久久久久小说| 国产成人精品国内自产拍免费看| 久久精品国产精品| 成人性教育视频在线观看| 亚洲美女免费精品视频在线观看| 日韩www在线| 成人黄色免费在线观看| 精品国产精品自拍| 91影院在线免费观看视频| 亚洲高清一区二| 欧美精品激情在线观看| 日韩电影网在线| 91久久久久久久久久久| 成人黄色免费网站在线观看| 日韩免费av一区二区| 91久久精品日日躁夜夜躁国产| 高清日韩电视剧大全免费播放在线观看| 国产精品久久网| 在线电影欧美日韩一区二区私密| 久久久久久高潮国产精品视| 亚洲欧美在线磁力| 久久久亚洲欧洲日产国码aⅴ| 免费成人高清视频| 久久网福利资源网站| 国产精品激情av电影在线观看| 久久亚洲精品一区| 亚洲国产精品成人一区二区| 国产精品久久久久久久电影| 国产精品一区av| 2019av中文字幕| 久久国产精品首页| 97在线视频免费看| 亚洲视频在线观看网站| 国产91在线视频| 亚洲精品不卡在线| 亚洲资源在线看| 欧美激情一区二区三区高清视频| 日韩美女写真福利在线观看| 欧美精品亚州精品| 国产精品v日韩精品| 亚洲深夜福利视频| 久久久久久国产三级电影| 91av视频在线观看| 成人免费xxxxx在线观看| 欧美一级大片在线免费观看| 国产精品jizz在线观看麻豆| 91日本视频在线| 亚洲高清免费观看高清完整版| 麻豆国产va免费精品高清在线| 欧美成人午夜激情| 欧美另类高清videos| 美女精品视频一区| 91精品综合久久久久久五月天| 亚洲国产成人久久| 7777免费精品视频| 国产午夜精品全部视频在线播放| 日韩美女免费线视频| 欧美日韩精品中文字幕| 一区二区三区国产在线观看| 亚洲第一免费网站| 欧美在线免费视频| 日韩欧美中文免费| 尤物yw午夜国产精品视频| 成人精品一区二区三区| 亚洲成人a**站| 91精品国产91久久久| 一本色道久久88精品综合| 色先锋久久影院av| 欧美性猛交xxxx免费看| www.欧美视频| 国产精品91久久久久久| 亚洲最大av网站| 深夜福利日韩在线看| 亚洲欧美日韩中文在线制服| 国产丝袜高跟一区| 久久精品国产亚洲一区二区| 欧美韩国理论所午夜片917电影| 久久精品99无色码中文字幕| 成人性教育视频在线观看| 色综合伊人色综合网| 国产日韩欧美在线观看| 欧美做爰性生交视频| 97在线视频精品| 日本伊人精品一区二区三区介绍| 欧美与黑人午夜性猛交久久久| 国产成人精品免高潮在线观看| 粗暴蹂躏中文一区二区三区| 亚洲精品国产综合区久久久久久久| 国产一区二区三区四区福利| 日日骚av一区| 国产97在线观看| 亚洲精品v欧美精品v日韩精品| 欧美性猛交视频| 日韩av片免费在线观看| 久久久伊人欧美| 在线观看免费高清视频97| 精品动漫一区二区三区| 日韩在线视频一区| 91国语精品自产拍在线观看性色| 伊人伊成久久人综合网小说| 久久深夜福利免费观看| 亚洲欧美激情四射在线日| 中文字幕av一区二区三区谷原希美| 欧美中在线观看| 亚洲小视频在线观看| 成人久久久久久久| 奇米一区二区三区四区久久| 国产这里只有精品| 欧美性猛交xxxx免费看漫画| 亚洲黄色在线看| 日韩精品小视频|