Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Ребята помогите, подскажите работа с curl (https://forum.antichat.xyz/showthread.php?t=83866)

__XT__ 06.09.2008 19:26

Ребята помогите, подскажите работа с curl
 
Код:

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 -ем поискать текст - с етим всё понятно.

но тема в том что не получаеться заставить работать курлы в цикле(((

Код:

CURLOPT_URL, "http://yandex.ru/yandsearch?p=".$p."&text=test");
читаеться только одна страница.

Пожалуйста подскажите в чём беда.

GreenBear 06.09.2008 19:33

ты ведь переменную перезаписываешь =\

__XT__ 06.09.2008 19:37

можешь код накидать как будет в цикле работать?

чтобы мне более детально разобраться.
-спасибо-

Doom123 06.09.2008 20:02

а зах ты переменую перезаписываеш? из цикла выйдет только результат последнего запроса ...
может так сделать? $res[]=join("",$ss);


CURLOPT_CONNECTIONTIMEOUT - что это оО на php.net ненашёл эту константу

__XT__ 06.09.2008 20:04

Я понял про $ch какие могут быть пути решения?

GreenBear 06.09.2008 20:25

чет ты чушь несешь непонятную
что тебе надо ?

.:EnoT:. 06.09.2008 20:31

XT привет)
Если я правильно понял нужно, отпарсить n страниц и на каждой из них взять регуляркой какую-либо инфу и потом всё это дело вывести.
Если так, то могу предложить вот что:
PHP код:

<?php
for ($p 0$p 10$p++) {
    
$ch curl_init();
    
curl_setopt($chCURLOPT_URL"http://yandex.ru/yandsearch?p=".$p."&text=test");
    
curl_setopt($chCURLOPT_TIMEOUT1);
    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    
curl_setopt($chCURLOPT_CONNECTIONTIMEOUT1);
    
curl_setopt($chCURLOPT_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;
?>


__XT__ 06.09.2008 20:35

=====

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". и урлы записывались в файл.

Я всё понимаю как делать кроме поточности курлов.
т.е. не получаеться запустить курлы в цикле, чтобы читали разнеые странички а не последнюю.

__XT__ 06.09.2008 20:43

Enot привет спасибо большое но там где то ошибка у тебя в джоин ..не работает.

Doom123 06.09.2008 20:49

мдаа ....

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); 



Время: 12:40