Code: for ($p = 0; $p < 10; $p++) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://yandex.ru/yandsearch?p=".$p."&text=test"); curl_setopt($ch, CURLOPT_TIMEOUT, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTIONTIMEOUT, 1); curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)'); $ss=explode("\n",curl_exec($ch)); $res=join("",$ss); curl_close($ch); } ..... Ребята вообщем такая делема, надо в цикле preg_match -ем поискать текст - с етим всё понятно. но тема в том что не получаеться заставить работать курлы в цикле((( Code: [B]CURLOPT_URL, "http://yandex.ru/yandsearch?p=".$p."&text=test");[/B] читаеться только одна страница. Пожалуйста подскажите в чём беда.
а зах ты переменую перезаписываеш? из цикла выйдет только результат последнего запроса ... может так сделать? $res[]=join("",$ss); CURLOPT_CONNECTIONTIMEOUT - что это оО на php.net ненашёл эту константу
XT привет) Если я правильно понял нужно, отпарсить n страниц и на каждой из них взять регуляркой какую-либо инфу и потом всё это дело вывести. Если так, то могу предложить вот что: PHP: <?php for ($p = 0; $p < 10; $p++) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://yandex.ru/yandsearch?p=".$p."&text=test"); curl_setopt($ch, CURLOPT_TIMEOUT, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTIONTIMEOUT, 1); curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)'); $ss = curl_exec($ch); preg_match_all('#....#Us', $ss, $out); $result .= join('<br/>', $out[1]); curl_close($ch); } echo $result; ?>
===== for ($p = 0; $p < 10; $p++) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://yandex.ru/yandsearch?p=".$p."&text=test"); curl_setopt($ch, CURLOPT_TIMEOUT, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTIONTIMEOUT, 1); curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)'); $ss=explode("\n",curl_exec($ch)); $res[]=join("",$ss); curl_close($ch); } if(preg_match("/sex/i", $res[$p])){ print "Ура нашёл!"; } ============ Мне надо чтобы в яндексе по страничкам искалось слово "sex". и урлы записывались в файл. Я всё понимаю как делать кроме поточности курлов. т.е. не получаеться запустить курлы в цикле, чтобы читали разнеые странички а не последнюю.
мдаа .... PHP: $a = fopen('urls.txt','a+'); for ($p = 0; $p < 10; $p++) { $url = "http://yandex.ru/yandsearch?p=".$p."&text=test"; $f = file_get_contents($url); if(strpos($f,'sex')) fwrite($a,$url."\r\n"); } fclose($a);
Дум)) спасибо неть. я немножко перепутал надо чтобы искался контент с словом секс и записывался в файл.
ВОТ твёрдая задача: надо чтоб искались слова в яндексе с "sex" и записывались в файл. Я всё понимаю как сделать кроме запуска курлов для многих страниц. с циклом не получаеться дружить(((
Ребята маску прегматча поиск и запись я всё сделаю, мне только важно чтобы кто нибудь показал как в цикле по страничкам бегать и выводить с каждой какой нить контент дял примера.
Зачем тебе курл, ты объяснить можешь? PHP: $ya=file_get_contents('http://yandex.ru/yandsearch?p='.$p.'text=sex'); // Выдираем все ссылки $i=preg_match_all и т.д. for ($j=0;$j<$i;$i++) { $tmp=file_get_contents(переменная из регулярки); if (preg_match('/sex/i')) $out[]=$tmp; } //выводим, как нам хочется print_r($out);
курл мне нужен т.к. работа с куками с агентом, с рефером будет. других способов помимо курла я не знаю. я спец написал помогите работе с курлами)) тт.к. планы на программку большие...не понятен только один момент. курлы в циклах и вывод какой нит ьстроки с каждого запроса: просто для примера чтоб видно что работают все запросы а не последний.