1. Внимание! Строго запрещен ап своих тем чаще чем раз в 7 дней! Если ваши услуги/товары никому не интересны - UP вам не поможет! Хотите чтобы тема была сверху всегда - оплачивайте закрепление!

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

Тема в разделе "Рекламный раздел", создана пользователем G-Null, 10 окт 2008.

Информация :
Статус темы:
Закрыта.
  1. G-Null

    G-Null

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

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

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

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

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

    demmy

    Регистр.:
    13 ноя 2006
    Сообщения:
    330
    Симпатии:
    96
    Не мое и раму надо поправить. Но все предельно просто.

    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 about <b>"// от куда грабим
            
    $GrabEnd "</b> from <b>"// до куда грабим
            
    $GrabData eregi("$GrabStart(.*)$GrabEnd"$content$DataPrint);
            
    $info =  $DataPrint[3];
            
    $num $info;
        }
        return 
    $num;
    ///////////////////////////////////////////// -Яндекс индекс - ///////////////////////////////////////////////////////////

    function yandex_index($url){
        
    $url "http://yandex.ru/yandsearch?ras=1&text=&site=".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;
         }
        return 
    $num;
    }
    ///////////////////////////////////////////// -Рамблер индекс - ///////////////////////////////////////////////////////////

    function rambler_index($url){
        
    $url "http://www.rambler.ru/srch?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;
    }
     
    Juri и G-Null нравится это.
  3. G-Null

    G-Null

    Регистр.:
    6 сен 2007
    Сообщения:
    180
    Симпатии:
    21
    а покупке более не нуждаюсь, за что demmy большое спасибо ;) -скрипт отличный, пару нюансов подправил и то что надо

    тему можно закрывать
     
  4. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.068
    Симпатии:
    197
    ТС выложи то что вы подправили, я думаю demmy будет не против
     
  5. G-Null

    G-Null

    Регистр.:
    6 сен 2007
    Сообщения:
    180
    Симпатии:
    21
    да особо ничего не поменял, заменил милионы и тысячи с буквенного представления на числовое в яндексе, убрал запятые с гугла, и просто напросто заменил рамблеровский линк..

    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;


     
Статус темы:
Закрыта.