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

Форум АНТИЧАТ (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); 


__XT__ 06.09.2008 20:53

Дум)) спасибо неть.
я немножко перепутал надо чтобы искался контент с словом секс и записывался в файл.

__XT__ 06.09.2008 20:59

ВОТ твёрдая задача:
надо чтоб искались слова в яндексе с "sex" и записывались в файл.
Я всё понимаю как сделать кроме запуска курлов для многих страниц.
с циклом не получаеться дружить(((

__XT__ 06.09.2008 21:06

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

Doom123 06.09.2008 21:14

__XT__ зах делать всё через жопу когда можно обойтись одним file_get_contents

Gifts 06.09.2008 21:18

Зачем тебе курл, ты объяснить можешь?
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); 


__XT__ 06.09.2008 21:30

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

GreenBear 06.09.2008 22:27

ТЫ ЖЕ СДЕЛАЛ ВСЕ!!!!!


Время: 23:33