Просмотр полной версии : Ребята помогите, подскажите работа с 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
ты ведь переменную перезаписываешь =\
можешь код накидать как будет в цикле работать?
чтобы мне более детально разобраться.
-спасибо-
а зах ты переменую перезаписываеш? из цикла выйдет только результат последнего запроса ...
может так сделать? $res[]=join("",$ss);
CURLOPT_CONNECTIONTIMEOUT - что это оО на php.net ненашёл эту константу
Я понял про $ch какие могут быть пути решения?
GreenBear
06.09.2008, 20:25
чет ты чушь несешь непонятную
что тебе надо ?
.:EnoT:.
06.09.2008, 20:31
XT привет)
Если я правильно понял нужно, отпарсить n страниц и на каждой из них взять регуляркой какую-либо инфу и потом всё это дело вывести.
Если так, то могу предложить вот что:
<?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". и урлы записывались в файл.
Я всё понимаю как делать кроме поточности курлов.
т.е. не получаеться запустить курлы в цикле, чтобы читали разнеые странички а не последнюю.
Enot привет спасибо большое но там где то ошибка у тебя в джоин ..не работает.
мдаа ....
$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" и записывались в файл.
Я всё понимаю как сделать кроме запуска курлов для многих страниц.
с циклом не получаеться дружить(((
Ребята маску прегматча поиск и запись я всё сделаю, мне только важно чтобы кто нибудь показал как в цикле по страничкам бегать и выводить с каждой какой нить контент дял примера.
__XT__ зах делать всё через жопу когда можно обойтись одним file_get_contents
Зачем тебе курл, ты объяснить можешь?
$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);
курл мне нужен т.к. работа с куками с агентом, с рефером будет.
других способов помимо курла я не знаю.
я спец написал помогите работе с курлами))
тт.к. планы на программку большие...не понятен только один момент.
курлы в циклах и вывод какой нит ьстроки с каждого запроса:
просто для примера чтоб видно что работают все запросы а не последний.
GreenBear
06.09.2008, 22:27
ТЫ ЖЕ СДЕЛАЛ ВСЕ!!!!!
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot