Нужен код для подсчета Pr и Тиц на сайт

Discussion in 'SЕО - тонкости, методы раскрутки' started by still12, 23 Jun 2008.

  1. still12

    still12 Elder - Старейшина

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    Уважаемые , не у кого не найдется кода на сайт для подсчета pr и тиц?
     
  2. Rebz

    Rebz Banned

    Joined:
    8 Nov 2004
    Messages:
    4,052
    Likes Received:
    1,534
    Reputations:
    1,128
    а гуглом пользоваться не учили?:)
    по сабжу, например, pr-cy.ru
     
    2 people like this.
  3. parasha

    parasha Banned

    Joined:
    19 Jun 2008
    Messages:
    17
    Likes Received:
    6
    Reputations:
    0
    x3k.ru
     
  4. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    В гугле найти просто. Тиц найдеш сам, это проще простого
    PHP:
    // Google PR
    define('GOOGLE_MAGIC'0xE6359A60);

    function 
    nooverflow($a)
      {
      while (
    $a<-2147483648)
         
    $a+=2147483648+2147483648;
      while (
    $a>2147483647)
         
    $a-=2147483648+2147483648;
      return 
    $a;
      }

    function 
    zeroFill ($x$bits)
      {
      if (
    $bits==0) return $x;
      if (
    $bits==32) return 0;
      
    $y = ($x 0x7FFFFFFF) >> $bits;
      if (
    0x80000000 $x)
         {
         
    $y |= (1<<(31-$bits));
         }
      return 
    $y;
    }

    function 
    mix($a,$b,$c)
      {
      
    $a=(int)$a$b=(int)$b$c=(int)$c;
      
    $a -= $b$a -= $c$a=nooverflow($a); $a ^= (zeroFill($c,13));
      
    $b -= $c$b -= $a$b=nooverflow($b); $b ^= ($a<<8);
      
    $c -= $a$c -= $b$c=nooverflow($c); $c ^= (zeroFill($b,13));
      
    $a -= $b$a -= $c$a=nooverflow($a); $a ^= (zeroFill($c,12));
      
    $b -= $c$b -= $a$b=nooverflow($b); $b ^= ($a<<16);
      
    $c -= $a$c -= $b$c=nooverflow($c); $c ^= (zeroFill($b,5));
      
    $a -= $b$a -= $c$a=nooverflow($a); $a ^= (zeroFill($c,3));
      
    $b -= $c$b -= $a$b=nooverflow($b); $b ^= ($a<<10);
      
    $c -= $a$c -= $b$c=nooverflow($c); $c ^= (zeroFill($b,15));

      return array(
    $a,$b,$c);
      }

    function 
    GoogleCH($url$length=null$init=GOOGLE_MAGIC) {
    if(
    is_null($length)) {
    $length sizeof($url);
    }
    $a $b 0x9E3779B9;
    $c $init;
    $k 0;
    $len $length;
    while(
    $len >= 12) {
    $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
    $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
    $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
    $mix mix($a,$b,$c);
    $a $mix[0]; $b $mix[1]; $c $mix[2];
    $k += 12;
    $len -= 12;
    }

    $c += $length;
    switch(
    $len/* all the case statements fall through */
    {
    case 
    11$c+=($url[$k+10]<<24);
    case 
    10$c+=($url[$k+9]<<16);
    case 
    $c+=($url[$k+8]<<8);
    /* the first byte of c is reserved for the length */
    case $b+=($url[$k+7]<<24);
    case 
    $b+=($url[$k+6]<<16);
    case 
    $b+=($url[$k+5]<<8);
    case 
    $b+=($url[$k+4]);
    case 
    $a+=($url[$k+3]<<24);
    case 
    $a+=($url[$k+2]<<16);
    case 
    $a+=($url[$k+1]<<8);
    case 
    $a+=($url[$k+0]);
    /* case 0: nothing left to add */
    }
    $mix mix($a,$b,$c);
    /*-------------------------------------------- report the result */
    return $mix[2];
    }

    function 
    strord($string) {
    for(
    $i=0;$i<strlen($string);$i++) {
    $result[$i] = ord($string{$i});
    }
    return 
    $result;
    }

    function 
    get_pr($url) {

    $result=array("",-1);

    if ((
    $url.""!="")&&($url.""!="http://")):
    if (
    substr(strtolower($url),0,7)!="http://"):
    $url="http://".$url;
    endif;

    $url="info:".$url;
    $checksum=GoogleCH(strord($url));
    $google_url=sprintf("http://www.google.com/search?client=navclient&ch=6%u&features=Rank&q=".$url,$checksum); // url to get from google

    $handle = @fopen($google_url"rb");
    $contents '';
    if (
    $handle) {
    while (!@
    feof($handle)) {
     
    $contents.= @fread($handle8192);
    }
    fclose($handle);
    $p=explode(":",$contents);
    if (isset(
    $p[2])):
    $result=trim($p[2]);
    endif;
    } else {
    $result 0;}
    endif;

    return(
    $result!="" && (strlen($result)>&& (strlen($result)<3))?$result:"0");
    }
     
    #4 Dimi4, 23 Jun 2008
    Last edited: 23 Jun 2008
    1 person likes this.
  5. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    А по форуму сделать поиск слабо? Совсем недавно тот же был вопрос и на него были даны ответы
     
  6. still12

    still12 Elder - Старейшина

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    Имелось в виду иное .....создание сарвиса на подобие pr-cy...весь функционал не требуется ...а нужен лишь код для проверки тиц и pr на мой сайт
     
  7. still12

    still12 Elder - Старейшина

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    Подскажите в какой переменной хранятся данные о pr

    Не подскажите какая переменная в скрипте выше по итогу хранит значиние pr .. отправил дданые в скрипт используюя get метод...дописал соответствующюю строку в скрипт на присваивании переменной
    PHP:
    $url
    значиния из формы ..а как вывести значение pr не знаю ... думал что переменная
    PHP:
    $result
    содержет его ........добавил
    PHP:
     echo "PR сайта" $result
    ...хе ....нифига ....денвер выдал ошибку ......познания в php не особо велики как видете ....подскажи плз...)))
     
    #7 still12, 27 Jul 2008
    Last edited: 27 Jul 2008
  8. Underwit

    Underwit Banned

    Joined:
    6 Oct 2006
    Messages:
    191
    Likes Received:
    137
    Reputations:
    16
    PHP:
    $pr get_pr("www.google.ru")
    в переменной $pr храниться значение
     
  9. still12

    still12 Elder - Старейшина

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    хм ..

    блин ..я все равно что то не так делаю ...у мну все равно ошибки ....(((((
     
  10. still12

    still12 Elder - Старейшина

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    Ура...

    Всем спасибо ..нашел скрипт на ином сайте ......выкладываю если кому нужен
    З.Ы. Как ни странно но после использовании на локальной машине апач постоянно выдавал ошибку и переставал работать ....залил на хост ....все норм )))
    PHP:
    <?php
    //error_reporting(0);
    define('GMAG'0xE6359A60);

    //unsigned shift right
    function zeroFill($a$b)
    {
       
    $z hexdec(80000000);
           if (
    $z $a)
           {
               
    $a = ($a>>1);
               
    $a &= (~$z);
               
    $a |= 0x40000000;
               
    $a = ($a>>($b-1));
           }
           else
           {
               
    $a = ($a>>$b);
           }
           return 
    $a;
    }


    function 
    mix($a,$b,$c) {
     
    $a -= $b$a -= $c$a ^= (zeroFill($c,13));
     
    $b -= $c$b -= $a$b ^= ($a<<8);
     
    $c -= $a$c -= $b$c ^= (zeroFill($b,13));
     
    $a -= $b$a -= $c$a ^= (zeroFill($c,12));
     
    $b -= $c$b -= $a$b ^= ($a<<16);
     
    $c -= $a$c -= $b$c ^= (zeroFill($b,5));
     
    $a -= $b$a -= $c$a ^= (zeroFill($c,3));  
     
    $b -= $c$b -= $a$b ^= ($a<<10);
     
    $c -= $a$c -= $b$c ^= (zeroFill($b,15));
     
     return array(
    $a,$b,$c);
    }

    function 
    GCH($url$length=null$init=GMAG) {
       if(
    is_null($length)) {
           
    $length sizeof($url);
       }
       
    $a $b 0x9E3779B9;
       
    $c $init;
       
    $k 0;
       
    $len $length;
       while(
    $len >= 12) {
           
    $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
           
    $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
           
    $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
           
    $mix mix($a,$b,$c);
           
    $a $mix[0]; $b $mix[1]; $c $mix[2];
           
    $k += 12;
           
    $len -= 12;
       }

       
    $c += $length;
       switch(
    $len)              /* all the case statements fall through */
       
    {
           case 
    11$c+=($url[$k+10]<<24);
           case 
    10$c+=($url[$k+9]<<16);
           case 
    $c+=($url[$k+8]<<8);
             
    /* the first byte of c is reserved for the length */
           
    case $b+=($url[$k+7]<<24);
           case 
    $b+=($url[$k+6]<<16);
           case 
    $b+=($url[$k+5]<<8);
           case 
    $b+=($url[$k+4]);
           case 
    $a+=($url[$k+3]<<24);
           case 
    $a+=($url[$k+2]<<16);
           case 
    $a+=($url[$k+1]<<8);
           case 
    $a+=($url[$k+0]);
            
    /* case 0: nothing left to add */
       
    }
       
    $mix mix($a,$b,$c);
       
    /*-------------------------------------------- report the result */
       
    return $mix[2];
    }

    //converts a string into an array of integers containing the numeric value of the char
    function strord($string) {
       for(
    $i=0;$i<strlen($string);$i++) {
           
    $result[$i] = ord($string{$i});
       }
       return 
    $result;
    }

    function 
    getPR($_url) {
       
    $url 'info:'.$_url;
       
    $ch GCH(strord($url));
       
    $url='info:'.urlencode($_url);
       
    $pr file("http://www.google.com/search?client=navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url");
       
    $pr_str implode(""$pr);
       return 
    substr($pr_str,strrpos($pr_str":")+1);
    }

    if (isset(
    $_GET['url'])) echo getPR($_GET['url']);

    ?> 
    Как юзать :
    /навазние вашего скрипта.php?url=адресс_определяемого_сайта
    пример: (файл обозвал index.php)
    мой_сайт/index.php?url=ya.ru
    Удачи ...всем спс ...
     
  11. x-demon

    x-demon Elder - Старейшина

    Joined:
    10 Jun 2007
    Messages:
    315
    Likes Received:
    101
    Reputations:
    46
    То что ты используешь - сакс. на 64битках работать не будет. Используй отгрузку с тулбара...
    PHP:
    <?php
    /**
     * Google Page rank data grabber.
     * Based on Google toolbar data.
     * 
     * Working with data like that:
     * "Rank_1:1:6". Without XML/HTML parsing.
     * 
     * @important:
     *  This code is for cognitive purposes only.
     *  Usage of this code is against Google's terms of service.
     *  No support is provided for this code.
     *  Can be used "as is" for your own risk.
     * 
     * @requirements:
     *  - PHP version 5 (can easily be downgraded to PHP4)
     *  - cURL library (but you can replace curl functions with
     *  PHP standard fopen/fread or other)
     * 
     * @version 1.1
     * @author exstabler // PHP version
     * @author snoopy    // JS version
     * 
     * @changelog:
     *  - 2007-01-18:
     *  1. [exstabler] Deprecated method intToHex deleted.
     *  2. [exstabler] Method toHex8 corrected.
     * 
     * @sample usage:
     *  $obj = new PageRankGrabber();
     *  $rank = $obj->getRank('http://dir.org.ru');
     */
    class PageRankGrabber {
        
        
    /**
         * Returns PageRank for specified page
         * @param string $url 
         * @return integer PageRank value
         */
        
    public function getRank($url) {
            
    $pageUrl $this->getRankUrlStingByPageUrl($url);
            
    $content $this->getContentCurl($pageUrl);
            
    $parts   explode(":"$content);
            return 
    intval(@$parts[count($parts)-1]);
        }
        
        
    /**
         * Returns content by URL with using
         * cURL library.
         *
         * @param string $url 
         * @return string Site content
         */
        
    public function getContentCurl($url) {
           
    $ch curl_init();
           
    curl_setopt($chCURLOPT_URL$url);
           
    curl_setopt($chCURLOPT_HEADER0);
           
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
           
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
           
    $result curl_exec($ch);
           
    curl_close($ch);
           return 
    $result;        
        }
        
        
    /**
         * Returning URL where PR can be grabbed.
         *
         * @param string $page - Page URL
         * @return string 
         */
        
    public function getRankUrlStingByPageUrl($page) {
            
    $this->awesomeHash($page);
            
    $hash "8" $this->awesomeHash($page);
            
    $url  "http://toolbarqueries.google.com/search?sourceid=" .
                    
    "navclient-ff&features=Rank&client=navclient-auto-ff&";
            
    $url .= "ch=" $hash "&q=info:" urlencode($page);
            return 
    str_replace(' '''$url);        
        }
            
        
    /**
         * Transforms integer into hexademical
         *
         * @param int $num 
         * @return string 
         */
        
    private function toHex8($num) {
            
    $vector "0123456789abcdef";
            return 
    $vector[($num 256) / 16] . $vector[$num 16];
        }
        
        
    /**
         * Service function: encoder
         */
        
    private function hexEncodeU32($num) {
            
    $result  $this->toHex8($this->zerofillShift($num24));
            
    $result .= $this->toHex8($this->zerofillShift($num16) & 255);
            
    $result .= $this->toHex8($this->zerofillShift($num8) & 255);
            return 
    $result $this->toHex8($num 255);
        }
     
        
    /**
         * Service function: hashing
         */
        
    private function awesomeHash($value)  {
     
            
    $hashSeed "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE." .
                        
    "Yes, I'm talking to you, scammer.";
            
    $intValue 16909125;
            for(
    $i 0$i strlen($value); $i++ ){
                
    $intValue ^=
                    
    $this->charCodeAt($hashSeed$i strlen($hashSeed)) ^
                    
    $this->charCodeAt($value$i);
                
    $intValue =
                    
    $this->zerofillShift($intValue,  23) | $intValue << 9;
            }
            return 
    $this->hexEncodeU32($intValue);
        }
        
        
    /**
         * The charCodeAt() method returns the Unicode
         * of the character at a specified position.
         *
         * @param int $value 
         */
        
    private function charCodeAt($value$position) {
            
    $symbol $value[$position];
            
    // ord() is for ASCII!
            // Original function should work with UTF-8.
            
    return ord($symbol);
        }
     
        
    /**
         * Service function: zerofil with shifing
         * (unsigned shift right).
         */
        
    private function zerofillShift($a$b) {
            
    $z hexdec(80000000);
            if (
    $z $a) {
                
    $a = ($a >> 1);
                
    $a &= (~$z);
                
    $a |= 0x40000000;
                
    $a = ($a >> ($b-1));
            } else {
                
    $a = ($a >> $b);
            }
            return 
    $a;
        }   
    }
    ?>
     
  12. x-demon

    x-demon Elder - Старейшина

    Joined:
    10 Jun 2007
    Messages:
    315
    Likes Received:
    101
    Reputations:
    46
    Вдогонку проверка тиц, на основе яндекс бара.
    PHP:
    <?php
    function get_tcy($domain)
    {
    //считываем XML-файл с данными
    $xml file_get_contents("http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://$domain");
    //если XML файл прочитан, то возвращаем значение параметра value, иначе возвращаем false - ошибка
    return $xml ? (int) substr(strstr($xml'value="'), 7) : false;
    }
    ?>
     
  13. still12

    still12 Elder - Старейшина

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    В один день перестало работать

    Везде где используется этот скрипт на сегоднишний день значения тиц = 0. Что в нем не так ? Исправте плз этот код))
    PHP:
    <?php

    function cy($url)
    {


    $url=str_replace("http://"."",$url);

     
    $fp fsockopen("bar-navig.yandex.ru"80$errno$errstr30); 
      if (!
    $fp) { return FALSE;  } 
         else { 
         
    $out "GET /u?ver=2&url=http://$url/&show=1 HTTP/1.1\r\n" 
         
    $out .= "Host: bar-navig.yandex.ru\r\n" 
         
    $out .= "Connection: Close\r\n\r\n" ;  
         
    fwrite($fp$out); 
         
         
    $data="";
         while (!
    feof($fp)) { 
           
    $data .= fgets($fp128); 
              } 
               
    fclose($fp);  
              
             
    $pos=strpos($data,"value")+7;
             
    $itog=substr($data$pos5);
             
             
    $itog=substr($itog0strpos($itog,'"'));
            
            return 
    $itog;
             
         } 
         
        

    }



    ?>
     
  14. gisTy

    gisTy Elder - Старейшина

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    вот же нормальный код привели
     
Loading...
Similar Threads - Нужен подсчета сайт
  1. Vmir
    Replies:
    3
    Views:
    3,638