[Куплю] Кто напишет 3 регулярки чтоб вытянули число проиндексенных страниц с гугла, яши, рамы

Статус
В этой теме нельзя размещать новые ответы.

G-Null

Местный житель
Регистрация
6 Сен 2007
Сообщения
178
Реакции
21
Кто напишет 3 регулярки ну и пару-тройку строчек скрипта чтоб вытянули число проиндексенных страниц с гугла, яши, рамы
запросы дам

даю 10-ку, если всё будет нормально работать, то есть если выдаёт "страниц не найдено" то на выход выдавался бы 0 и прочее в то же духе.. так в же в яндексе порой пишется ни число а "тыс" "мил", такие случаи тоже нужно продумать на выход подавать числовое значение.. так же в зависимости от числа страниц у поисковиков разные приставки перед кол-вом страниц, то есть

"найдено 5 страниц"
"найдена 1 страница"
ну и в таком духе, то есть это тоже надо учесть

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

работы думаю не более чем на час, поэтому любителям поработать за еду 10-ки думаю хватит..
 
а покупке более не нуждаюсь, за что demmy большое спасибо ;) -скрипт отличный, пару нюансов подправил и то что надо

тему можно закрывать
 
  • Заблокирован
  • #4
ТС выложи то что вы подправили, я думаю demmy будет не против
 
да особо ничего не поменял, заменил милионы и тысячи с буквенного представления на числовое в яндексе, убрал запятые с гугла, и просто напросто заменил рамблеровский линк..

PHP:
//## перекодировка unicode UTF-8 -> win1251 
function utf8_win ($s){ 
$out=""; 
$c1=""; 
$byte2=false; 
for ($c=0;$c<strlen($s);$c++){ 
$i=ord($s[$c]); 
if ($i<=127) $out.=$s[$c]; 
if ($byte2){ 
$new_c2=($c1&3)*64+($i&63); 
$new_c1=($c1>>2)&5; 
$new_i=$new_c1*256+$new_c2; 
if ($new_i==1025){ 
$out_i=168; 
}else{ 
if ($new_i==1105){ 
$out_i=184; 
}else { 
$out_i=$new_i-848; 
} 
} 
$out.=chr($out_i); 
$byte2=false; 
} 
if (($i>>5)==6) { 
$c1=$i; 
$byte2=true; 
} 
} 
return $out; 
}






function google_index($url){
    $url = "http://www.google.com/search?num=10&hl=us&q=site%3A".trim($url);
    $content=implode(file($url));

	if(strpos($content, "</b> - did not match any documents.")){
        $num = 0;
    }else{
        $GrabStart = "Results <b>(.*)</b> - <b>(.*)</b> of"; // от куда грабим
        $GrabEnd = "</b> from <b>"; // до куда грабим
        $GrabData = eregi("$GrabStart(.*)$GrabEnd", $content, $DataPrint);
        $info =  $DataPrint[3];
        $num = $info;

		$num = preg_replace("/ about/", '', $num);
		$num = preg_replace("/ <b>/", '', $num);
		$num = preg_replace("/\,/", '', $num);
    }
    return $num;
}

function yandex_index($url){
    $url = "http://www.yandex.ru/yandsearch?pag=u&surl=".trim($url);
	$content=utf8_win (implode(file($url)));
    
      if(strpos($content, "Яндекс:\nничего не найдено")){
        $num = 0;
    }else{
        $GrabStart = "<title>\n&nbsp;-\nЯндекс:\nнашл(.*)сь "; // от куда грабим
        $GrabEnd = " страниц"; // до куда грабим
        $GrabData = eregi("$GrabStart(.*)$GrabEnd(.*)(\n</title>)", $content, $DataPrint);
        $info =  $DataPrint[2];
        $num = $info;

		$num = preg_replace("/тыс./", '000', $num);
		$num = preg_replace("/млн/", '000000', $num);
		$num = preg_replace("/&nbsp;/", '', $num);
     }
    return $num;
}

function rambler_index($url){
    $url = "http://search.rambler.ru/cgi-bin/rambler_search?sort=0&oe=1251&filter=".trim($url);
    $content=implode(file($url));
    
        if(strpos($content, "<h3 align=center>Ничего не найдено.</h3>")){
        $num = 0;
    }else{
        $GrabStart = "<td>найдено&nbsp;документов:&nbsp;<b>"; // от куда грабим
        $GrabEnd = "</b><br>Расширенный поиск:"; // до куда грабим
        $GrabData = eregi("$GrabStart(.*)$GrabEnd", $content, $DataPrint);
        $info =  $DataPrint[1];
        $num = $info;
  }
    return $num;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху