[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как yandex узнал, что его парсят
burenka
Хочу опредилить количество проиндексированных страничек сайта в yandex вот я к чему пришел
function getYandexIdx ($site)  // utf-8 Количество страниц в индексе Яши
{
// http://yandex.ru/yandsearch?text=&site=ngs.ru&ras=1&site_manually=true
global $buf;
$buf = file_get_contents ('http://yandex.ru/yandsearch?text=&site='.$site.'&ras=1&site_manually=true');
// нашлось 384 тыс. страниц
// нашлось 182 страницы Нашлось<br>58 ответов

if (preg_match ('!Нашлось<br>\s (\d+)\&nbsp\;sответов!ism',$buf,$match)) {
return ($match[1]);
}
if (preg_match ('!Нашлось\s (\d+)\&nbsp\;тыс\.\sответов!ism',$buf,$match)) {
return (1000*$match[1]);
}
return (0);
}



$site='test.ru';
echo getYandexIdx ($site).'<br/>';
echo $buf;
но нфтвух сразу же выдает предупреждение вместо нужной странички. Помогите пожалуйста.
bposter
Делали такое недавно :)


public function ya($url){

//ВЫчисляем сколько страниц в поиске
$cur4=curl_init();
curl_setopt($cur4, CURLOPT_URL, "http://webmaster.yandex.ua/check.xml?hostname=".$url);
curl_setopt($cur4,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10");
curl_setopt($cur4,CURLOPT_RETURNTRANSFER,1);
$result4 = curl_exec($cur4);
curl_close($cur4);

$rezultat4 = preg_match("/([0-9]{1,1000})<\/div>/is",$result4, $pars4);
if($rezultat4){ $pars4[0];}
else{
$cur4=curl_init();
curl_setopt($cur4, CURLOPT_URL, "http://webmaster.yandex.ua/check.xml?hostname=www.".$url);
curl_setopt($cur4,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10");
curl_setopt($cur4,CURLOPT_RETURNTRANSFER,1);
$result4 = curl_exec($cur4);
curl_close($cur4);
preg_match("/([0-9]{1,1000})<\/div>/is",$result4, $pars4);
$pars4[0];
}


_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Быстрый ответ:

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