摘要:多線程抓取多線程并行網(wǎng)址超時時間創(chuàng)建多個語柄設置超時時間定向級別這里不要,加塊效率防止死循環(huán)耗死這段是根據(jù)網(wǎng)上的寫法當無數(shù)據(jù),當正在接受數(shù)據(jù)時當無數(shù)據(jù)時或請求暫停時,獲得返回信息返回頭信息關(guān)閉語柄釋放資源計算當前時間測試一下,三個網(wǎng)址調(diào)
php$url){ $conn[$k]=curl_init($url); 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]); } //防止死循環(huán)耗死cpu 這段是根據(jù)網(wǎng)上的寫法 do { $mrc = curl_multi_exec($mh,$active);//當無數(shù)據(jù),active=true } while ($mrc == CURLM_CALL_MULTI_PERFORM);//當正在接受數(shù)據(jù)時 while ($active and $mrc == CURLM_OK) {//當無數(shù)據(jù)時或請求暫停時,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]);//關(guān)閉語柄 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 三個網(wǎng)址 $array = array( "http://www.weibo.com/", "http://www.renren.com/", "http://www.qq.com/" ); $data = Curl_http($array,"10");//調(diào)用 var_dump($data);//輸出 //如果POST的數(shù)據(jù)大于1024字節(jié),curl并不會直接就發(fā)起POST請求 //發(fā)送請求時,header中包含一個空的Expect。curl_setopt($ch, CURLOPT_HTTPHEADER, array("Expect:")); ?>
curl 多線程抓取
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/21010.html
摘要:背景說明小拽利用的寫的爬蟲,實驗性的爬取了知乎用戶的基本信息同時,針對爬取的數(shù)據(jù),進行了簡單的分析呈現(xiàn)。本程序抓取的是知乎對外提供用戶訪問的個人信息頁面抓取過程需要攜帶用戶才能獲取頁面。 背景說明:小拽利用php的curl寫的爬蟲,實驗性的爬取了知乎5w用戶的基本信息;同時,針對爬取的數(shù)據(jù),進行了簡單的分析呈現(xiàn)。demo 地址 php的spider代碼和用戶dashboard的展現(xiàn)代碼...
摘要:背景說明小拽利用的寫的爬蟲,實驗性的爬取了知乎用戶的基本信息同時,針對爬取的數(shù)據(jù),進行了簡單的分析呈現(xiàn)。本程序抓取的是知乎對外提供用戶訪問的個人信息頁面抓取過程需要攜帶用戶才能獲取頁面。 背景說明:小拽利用php的curl寫的爬蟲,實驗性的爬取了知乎5w用戶的基本信息;同時,針對爬取的數(shù)據(jù),進行了簡單的分析呈現(xiàn)。demo 地址 php的spider代碼和用戶dashboard的展現(xiàn)代碼...
摘要:背景說明小拽利用的寫的爬蟲,實驗性的爬取了知乎用戶的基本信息同時,針對爬取的數(shù)據(jù),進行了簡單的分析呈現(xiàn)。本程序抓取的是知乎對外提供用戶訪問的個人信息頁面抓取過程需要攜帶用戶才能獲取頁面。 背景說明:小拽利用php的curl寫的爬蟲,實驗性的爬取了知乎5w用戶的基本信息;同時,針對爬取的數(shù)據(jù),進行了簡單的分析呈現(xiàn)。demo 地址 php的spider代碼和用戶dashboard的展現(xiàn)代碼...
摘要:本程序是抓取知乎的用戶數(shù)據(jù),要能訪問用戶個人頁面,需要用戶登錄后的才能訪問。經(jīng)過查閱資料得知,是因為知乎對圖片做了防盜鏈處理。最終的結(jié)果是,用了一個周末就抓取了萬的用戶數(shù)據(jù)。 代碼托管地址:https://github.com/hoohack/zhihuSpider 這次抓取了110萬的用戶數(shù)據(jù),數(shù)據(jù)分析結(jié)果如下:showImg(https://segmentfault.com/img...
摘要:使用的爬蟲知乎用戶數(shù)據(jù)爬取和分析閱讀掘金背景說明小拽利用的寫的爬蟲,實驗性的爬取了知乎用戶的基本信息同時,針對爬取的數(shù)據(jù),進行了簡單的分析呈現(xiàn)。 Python 知乎爬蟲(最新) - 后端 - 掘金 環(huán)境:python3.x外部依賴包:requestsgithub項目地址 主要的問題:模擬登陸: 知乎現(xiàn)在改用https請求了,數(shù)據(jù)加密,但是問題不大,重要的是網(wǎng)頁數(shù)據(jù)改動了,而且在請求時后...
閱讀 3360·2021-09-30 09:47
閱讀 2742·2021-08-18 10:22
閱讀 2527·2021-08-16 10:49
閱讀 2893·2019-08-30 15:53
閱讀 2738·2019-08-29 16:14
閱讀 3191·2019-08-28 18:18
閱讀 3237·2019-08-26 13:21
閱讀 794·2019-08-26 12:02