Здраствуйте!Необходимо отпарсить очень много ссылок!Написал вот так
for($i=0;$i<count($link);$i++) { // инициализируем обычный объект curl $url=str_replace('href=',"",$link[$i]); $url=str_replace('class="catBigLink"',"",$url); $url=str_replace('"',"",$url); $url=str_replace('//',"",$url); $urlpars="http://www.komus.ru".$url; //echo($urlpars."<br>"); $handles[$i] = curl_init(); // устанавливаем настройки соединения curl_setopt($handles[$i] , CURLOPT_URL, $urlpars); curl_setopt($handles[$i] , CURLOPT_HEADER, 0); curl_setopt($handles[$i] , CURLOPT_RETURNTRANSFER, true); curl_setopt($handles[$i] , CURLOPT_TIMEOUT, 15); // добавляем текущий объект curl в пул multi curl curl_multi_add_handle($mh,$handles[$i]); } // выполняем запрос $running=null; do { curl_multi_exec($mh,$running); } while ($running > 0); // получаем контент со всех сайтов for($i=0;$i<count($handles);$i++) { // получаем контент с определенного сайта $result= curl_multi_getcontent($handles[$i]); preg_match_all('/href=.\/catalog.php.catID=[0-9]{1,4}..class="catBigLink"/is', $result, $temp); //print_r($temp); for($k=0;$k<count($temp1[0]);$k++) { $ssilk[count($ssilk)]=$temp1[0][$k]; } // удаляем из пула текущий объект curl curl_multi_remove_handle($mh,$handles[$i]); if ($temp[0][0]!="") pars1($temp); } // освобождаем ресурсы curl_multi_close($mh);
Но данная конструкция очень долго работает!!!Как ее можно оптимизировать!Заранее спасибо
doszhan, стукнул в асю-тишина!
Sonitta, Отписал в личку!
gruz-trans, Отписал в личку
GorSite, Ответил в личку
27два8ноль060восемь
niceweb, Всегда спасибо!Свободен для заказов!
maviska, Написал в личку
Вновь свободен для заказов
Join666 добавил 04.09.2009 в 12:24
Возьму небольшой заказ дня на 2
ТС отписал в асю но пока тишина!