[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: индексируемые страницы
Guest
Подскажите скрипт парсинга, сколько страниц сайта индексирует яндекс?



Спустя 3 часа, 1 минута, 13 секунд (9.10.2011 - 17:13) Игорь_Vasinsky написал(а):
татьяна biggrin.gif biggrin.gif biggrin.gif как не стыдно laugh.gif

Спустя 1 час, 11 минут, 51 секунда (9.10.2011 - 18:25) tanya12345 написал(а):

Игорь_Vasinsky , я понимаю, что для профессионалов в php - это смешной вопрос, но для меня, еще новичка в этом деле - это сложный вопрос, который требует помощи профессионалов....

Спустя 30 минут, 28 секунд (9.10.2011 - 18:56) Игорь_Vasinsky написал(а):
да не.. я о том - что не нужно стока тем создавать.. была же одна - содержащая 2 вопроса, так ещё 2 появилось.

Не проще - взять и сначала написать парсер?

Спустя 7 минут, 34 секунды (9.10.2011 - 19:03) tanya12345 написал(а):
я понимаю о чем вы) мне не хватает мастерства и я волнуюсь, поэтому хочется поделится возникшей проблемой с большим количеством людей blink.gif

Спустя 5 минут, 31 секунда (9.10.2011 - 19:09) alex12060 написал(а):
tanya12345

За такое волнение обычно банят. Вам пока везет, что нету администраторов тут и модераторов.
А так, я Вам посоветую создать тему в разделе "проекты" и указать бюджет, вот там Вам и напишут и протестируют и расскажут как пользоваться.

А так, либо гугл, либо мануал и пробовать самой smile.gif

Спустя 7 минут, 32 секунды (9.10.2011 - 19:16) tanya12345 написал(а):
и гугл, и мануал, и пробую сама - не получается) поэтому, надеюсь, что профессионалы php подскажут)

Спустя 19 минут, 46 секунд (9.10.2011 - 19:36) alex12060 написал(а):
tanya12345

А что Вы понимаете под словом "подскажут" ?

Спустя 33 минуты, 4 секунды (9.10.2011 - 20:09) tanya12345 написал(а):
Выводится капча и надпись,что запросы похожи на автоматические:
<?php

function
curlFunc($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
echo $result;
}
$q='vkontakte.ru';
$h = curlFunc('http://yandex.ru/yandsearch?text='.$q.'&lr=13');
$str=iconv("UTF-8","Windows-1251",$h);
echo $str;




?>


Помогите как выйти из этой ситуации?

Спустя 6 минут, 40 секунд (9.10.2011 - 20:16) alex12060 написал(а):
function curlFunc($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIE , $cookies);
curl_setopt($ch, CURLOPT_ENCODING , "gzip");
$result = curl_exec($ch);
curl_close($ch);
return $result;
echo $result;
}
$q='vkontakte.ru';
$h = curlFunc('http://yandex.ru/yandsearch?text='.$q.'&lr=13');
$str=iconv("UTF-8","Windows-1251",$h);
echo $str;

Спустя 10 минут, 31 секунда (9.10.2011 - 20:26) tanya12345 написал(а):
Далее, определяю кол-во нашедшихся ответов в яндексе.
Делаю по идеи все правильно,но результат не выводит.Где ошибка?

<?php

function
curlFunc($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIE , $cookies);
curl_setopt($ch, CURLOPT_ENCODING , "gzip");
$result = curl_exec($ch);
curl_close($ch);
return $result;
echo $result;
}
$q='vkontakte.ru';
$h = curlFunc('http://yandex.ru/yandsearch?text='.$q.'&lr=13');
$str=iconv("UTF-8","Windows-1251",$h);




$data = eregi("нашлось(.*)ответов", $str, $out2);
$result2 = trim($out2[1]);
if(strlen($result2)<1){
$data = eregi("нашлась(.*)ответ", $str, $out2);
$result2 = trim($out2[1]);
}
$result2=str_replace(" ","",$result2);
$result2=str_replace("млн","000000",$result2);
$result2=str_replace("тыс.","000",$result2);
if ($result2<1) $result2=0;
echo $result2;


echo $out2[1];

?>




Спустя 14 минут, 11 секунд (9.10.2011 - 20:40) tanya12345 написал(а):
Пожалуйста, помогите исправить код)

Спустя 11 минут, 9 секунд (9.10.2011 - 20:52) Игорь_Vasinsky написал(а):
Ну и лентяйка... а ты на ошибки вообще ни когда не обращаешь внимания???
то что старые функции используешь???

Вообщем я тебе сделал вывод в массив, тут то подумаешь сама?
и паттерны для регулярок - сТрАнНые... уф.

<?php
header("Content-type: text/html; charset=utf-8");
function curlFunc($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIE , $cookies);
curl_setopt($ch, CURLOPT_ENCODING , "gzip");
$result = curl_exec($ch);
curl_close($ch);
return $result;
echo $result;
}
$q='vkontakte.ru';
$h = curlFunc('http://yandex.ru/yandsearch?text='.$q.'&lr=13');
#$str=iconv("UTF-8","Windows-1251",$h);

$data = preg_match_all("#нашлось(.+)ответов#iusU", $h, $out2);

echo '<pre>' .print_r($out2, 1). '</pre>';
?>

Спустя 1 минута, 16 секунд (9.10.2011 - 20:53) imbalance_hero написал(а):
tanya12345
Неужели опять через гугл: "халявный код" нашла какой-то, который нифига не работает? smile.gif

Спустя 2 минуты, 4 секунды (9.10.2011 - 20:55) Игорь_Vasinsky написал(а):
так он древний ещё...
и вообще не нравится мне - когда просят.. просят.. ни суть проблемы, ни ошибок....

тока сделайте...

лан.. я добрый сёдня wink.gif

Спустя 20 минут, 21 секунда (9.10.2011 - 21:15) tanya12345 написал(а):
Спасибо за совет)
Сегодня я ощущаю себя самой глупой девушкой на свете)
Извините меня, дорогие мужчины, и подскажите в последний раз:

<?php
header("Content-type: text/html; charset=utf-8");
function curlFunc($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIE , $cookies);
curl_setopt($ch, CURLOPT_ENCODING , "gzip");
$result = curl_exec($ch);
curl_close($ch);
return $result;
echo $result;
}
$q='vkontakte.ru';
$h = curlFunc('http://yandex.ru/yandsearch?text='.$q.'&lr=13');
#$str=iconv("UTF-8","Windows-1251",$h);

$data = preg_match_all("#нашлось(.*)ответов#iusU", $h, $out2);

echo '<pre>' .print_r($out2, 1). '</pre>';
?>

Выводится ошибка, какие-то проблемы с кодировкой:
Warning: preg_match_all() [function.preg-match-all]: Compilation failed: invalid UTF-8 string at offset

Спустя 7 минут, 3 секунды (9.10.2011 - 21:22) Игорь_Vasinsky написал(а):
ну файл то с этим кодом должен быть в юникоде сохранён - без BOM (utf-8)

Спустя 2 минуты, 58 секунд (9.10.2011 - 21:25) Игорь_Vasinsky написал(а):
Вообще вместо

header('Content-type: text/html; charset=utf-8'); 


можешь написать

header('Content-type: text/html; charset=utf-8'); 
mb_internal_encoding('UTF-8');


Заголовок обеспечит то, что браузер корректно обработает данные в utf-8.
mb_internal_encoding обеспечит работу с мультибайтовыми строковыми функциями mb_...: strlen, strpos, strrpos


Спустя 8 минут, 58 секунд (9.10.2011 - 21:34) tanya12345 написал(а):
Все исправила.Но выводит только:
Array
(
[0] => Array
(
)

[1] => Array
(
)

)

Исходный код:

<?php
header('Content-type: text/html; charset=utf-8');
mb_internal_encoding('UTF-8');
function curlFunc($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIE , $cookies);
curl_setopt($ch, CURLOPT_ENCODING , "gzip");
$result = curl_exec($ch);
curl_close($ch);
return $result;
echo $result;
}
$q='vkontakte.ru';
$h = curlFunc('http://yandex.ru/yandsearch?text='.$q.'&lr=13');
#$str=iconv("UTF-8","Windows-1251",$h);

$data = preg_match_all("#нашлось(.*)ответов#iusU", $h, $out2);

echo '<pre>' .print_r($out2, 1). '</pre>';
?>

Спустя 4 минуты, 22 секунды (9.10.2011 - 21:39) Игорь_Vasinsky написал(а):
Да как так :blink:

Свернутый текст
Array
(
[0] => Array
(
[0] => Нашлось 58 млн ответов
[1] => Нашлось
58 млн ответов
)

[1] => Array
(
[0] => 58 млн
[1] =>
58 млн
)

)


во первых в функции - echo $result; - не нужно. там есть return
во вторых вместо preg_match_all можно preg_match


Я не понимаю. вывод в массив есть.

Ты точно этот код юзаешь???

error_reporting(E_ALL);


в начале кода поставь.

Спустя 2 минуты, 3 секунды (9.10.2011 - 21:41) alex12060 написал(а):

function curlFunc($url){
$cookies = '';
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIE , $cookies);
curl_setopt($ch, CURLOPT_ENCODING , "gzip");
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$q='vkontakte.ru';
$h = curlFunc('http://yandex.ru/yandsearch?text='.$q.'&lr=13');

preg_match("#нашлось(.*)ответов#iu", $h, $out2);

echo str_replace(array('млн', 'тыс'), array('000 000', '000'), $out2[1]);

Спустя 58 секунд (9.10.2011 - 21:42) Игорь_Vasinsky написал(а):
Цитата
echo str_replace(array('млн', 'тыс'), array('000 000', '000'), $out2[1]);

так у неё массив пустой ohmy.gif

Спустя 2 минуты, 2 секунды (9.10.2011 - 21:44) alex12060 написал(а):
Игорь_Vasinsky

Цитата
так у неё массив пустой ohmy.gif


Я поправил немного. Не проверял, пустой он был, или нет, но у меня все работает теперь.

Спустя 6 минут, 57 секунд (9.10.2011 - 21:51) Игорь_Vasinsky написал(а):
Там куки не зачем... их нет и ты всё равно их не пишешь и потом использовать не будешь


может

<?php
header("Content-type: text/html; charset=utf-8");
mb_internal_encoding('UTF-8');
function curlFunc($url)
{
$ch = curl_init (); // инициализация
curl_setopt ($ch , CURLOPT_URL , $url);
curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 );
$result = curl_exec($ch);
curl_close($ch);

return $result;
}
$q = 'vkontakte.ru';
$h = curlFunc('http://yandex.ru/yandsearch?text='.$q.'&lr=13');
preg_match("#нашлось(.+)ответов#iusU", $h, $out2);

echo '<pre>' .print_r($out2, 1). '</pre>';
?>


Вывод

Array
(
[
0] => Нашлось 58 млн ответов
[1] => 58 млн
)

Спустя 7 минут, 32 секунды (9.10.2011 - 21:58) Игорь_Vasinsky написал(а):
Вот тоже рабочий... чёт яша мудрит с GET в своём запросе...там видимо в lr - регион, msp=1 = страницы №1

<?php
header("Content-type: text/html; charset=utf-8");
mb_internal_encoding('UTF-8');

$site = "vkontakte.ru";
$url = "http://yandex.ru/yandsearch?text=".$site."&lr=13&msp=1";

$ch = curl_init (); // инициализация
curl_setopt ($ch , CURLOPT_URL , $url);
curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 );
$content = curl_exec($ch);
curl_close($ch);


preg_match("#нашлось(.+)ответов#iusU", $content, $out);

echo '<pre>' .print_r($out, 1). '</pre>';
?>

Спустя 6 минут, 43 секунды (9.10.2011 - 22:05) tanya12345 написал(а):
Мой Код:

<?php
error_reporting(E_ALL);
header('Content-type: text/html; charset=utf-8');
mb_internal_encoding('UTF-8');
function curlFunc($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_ENCODING , "gzip");
$result = curl_exec($ch);
curl_close($ch);
return $result;
echo $result;
}
$q='vkontakte.ru';
$h = curlFunc('http://yandex.ru/yandsearch?text='.$q.'&lr=13');
#$str=iconv("UTF-8","Windows-1251",$h);

$data = preg_match_all("#нашлось(.*)ответов#iusU", $h, $out2);

echo '<pre>' .print_r($out2, 1). '</pre>';
?>

В результате:
Array
(
[0] => Array
(
)

[1] => Array
(
)

)
Дорогие мужчины, пришлите свой код от точки до точки, пожалуйста!

Спустя 1 минута, 45 секунд (9.10.2011 - 22:07) Игорь_Vasinsky написал(а):
Цитата
Дорогие мужчины, пришлите свой код от точки до точки, пожалуйста!


Свернутый текст
<?php
header("Content-type: text/html; charset=utf-8");
mb_internal_encoding('UTF-8');

$site = "vkontakte.ru";
$url = "http://yandex.ru/yandsearch?text=".$site."&lr=13&msp=1";

$ch = curl_init (); // инициализация
curl_setopt ($ch , CURLOPT_URL , $url);
curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 );
$content = curl_exec($ch);
curl_close($ch);


preg_match("#нашлось(.+)ответов#iusU", $content, $out);

echo '<pre>' .print_r($out, 1). '</pre>';
?>



200% работает.

Спустя 5 минут, 58 секунд (9.10.2011 - 22:13) tanya12345 написал(а):
Мой Результат на 200% работающего кода:
Array
(
)
А не может это зависеть от того : на локалхосте или на сервере воспроизводится код.я на сервере делаю.

Спустя 1 минута, 53 секунды (9.10.2011 - 22:14) Игорь_Vasinsky написал(а):
честно говоря не знаю. я на локал хосте.

У вас на хостинге cUrl то включён?

а то вы тут второй seopult пишите, чтоб потом 5 комнатную квартиру купить, а мы спать уйти ни как не можем biggrin.gif

Спустя 11 минут, 31 секунда (9.10.2011 - 22:26) tanya12345 написал(а):
Игорь_Vasinsky ,
curl работает - все нормально,
но вот яндекс
для примера решила просто вывести страницу с запросом:



<?
function
curlFunc($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIE , $cookies);
curl_setopt($ch, CURLOPT_ENCODING , "gzip");
$result = curl_exec($ch);
curl_close($ch);
return $result;
echo $result;
}
$q='vkontakte.ru';
$h = curlFunc('http://yandex.ru/yandsearch?text='.$q.'&lr=13');
$str=iconv("UTF-8","Windows-1251",$h);
echo $str;
?>


пишет,что
Нам очень жаль, но запросы, поступившие с вашего IP-адреса, похожи на автоматические. По этой причине мы вынуждены временно заблокировать доступ к поиску.

Чтобы продолжить поиск, пожалуйста, введите символы с картинки в поле ввода и нажмите «Отправить».

Показать другую картинку Яндекс.XML сервис для хороших роботов

Почему так случилось?

Возможно, автоматические запросы принадлежат не вам, а другому пользователю, выходящему в сеть с одного с вами IP-адреса. В этом случае вам необходимо один раз ввести символы в форму, после чего мы запомним вас и сможем отличать от других пользователей, выходящих с данного IP. В этом случае страница с капчей не должна беспокоить вас в течение длительного времени.

Возможно, вы задавали большое количество служебных запросов нашему поиску. Пользователям, которым необходимо по роду деятельности обращаться к Яндексу со служебными запросами, мы рекомендуем воспользоваться специально разработанным для этих целей сервисом Яндекс.XML.

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

Также возможно, что ваш компьютер заражен вирусом — программой-спамботом, использующей ваш компьютер для сбора информации. Возможно, вам стоит проверить систему на наличие вирусов, например, антивирусной утилитой CureIt от «Dr.Web».

В чем может быть дело?

Спустя 4 минуты, 44 секунды (9.10.2011 - 22:31) Игорь_Vasinsky написал(а):
Цитата
Нам очень жаль, но запросы, поступившие с вашего IP-адреса, похожи на автоматические. По этой причине мы вынуждены временно заблокировать доступ к поиску.

Чтобы продолжить поиск, пожалуйста, введите символы с картинки в поле ввода и нажмите «Отправить».


тебе нужен список прокси -> в файл и для каждого запроса подключение либо по списку либо rand выбирать IP прокси. cUrl умеет с прокси работать, в инете есть инфа.

Там тока в cURL изменения внести... остальное так же останется.

А мы тут голову ломаем блин.

Спустя 3 минуты, 41 секунда (9.10.2011 - 22:34) tanya12345 написал(а):

Игорь_Vasinsky, хорошо,спасибо Вам за понимание и реальную помощь)
wub.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.