Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   SЕО - тонкости, методы раскрутки (https://forum.antichat.xyz/forumdisplay.php?f=116)
-   -   Нужен код для подсчета Pr и Тиц на сайт (https://forum.antichat.xyz/showthread.php?t=74690)

still12 23.06.2008 15:00

Нужен код для подсчета Pr и Тиц на сайт
 
Уважаемые , не у кого не найдется кода на сайт для подсчета pr и тиц?

Rebz 23.06.2008 15:05

а гуглом пользоваться не учили?:)
по сабжу, например, pr-cy.ru

parasha 23.06.2008 15:08

x3k.ru

Dimi4 23.06.2008 15:16

В гугле найти просто. Тиц найдеш сам, это проще простого
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");



diehard 23.06.2008 15:33

А по форуму сделать поиск слабо? Совсем недавно тот же был вопрос и на него были даны ответы

still12 23.06.2008 20:05

Цитата:

Сообщение от Rebz
а гуглом пользоваться не учили?:)
по сабжу, например, pr-cy.ru

Имелось в виду иное .....создание сарвиса на подобие pr-cy...весь функционал не требуется ...а нужен лишь код для проверки тиц и pr на мой сайт

still12 27.07.2008 11:17

Подскажите в какой переменной хранятся данные о pr
 
Не подскажите какая переменная в скрипте выше по итогу хранит значиние pr .. отправил дданые в скрипт используюя get метод...дописал соответствующюю строку в скрипт на присваивании переменной
PHP код:

$url 

значиния из формы ..а как вывести значение pr не знаю ... думал что переменная
PHP код:

$result 

содержет его ........добавил
PHP код:

 echo "PR сайта" $result

...хе ....нифига ....денвер выдал ошибку ......познания в php не особо велики как видете ....подскажи плз...)))

Underwit 27.07.2008 11:37

PHP код:

$pr get_pr("www.google.ru"

в переменной $pr храниться значение

still12 27.07.2008 12:13

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

still12 27.07.2008 12:26

Ура...
 
Всем спасибо ..нашел скрипт на ином сайте ......выкладываю если кому нужен
З.Ы. Как ни странно но после использовании на локальной машине апач постоянно выдавал ошибку и переставал работать ....залил на хост ....все норм )))
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
Удачи ...всем спс ...

x-demon 27.07.2008 12:42

То что ты используешь - сакс. на 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;
    }   
}
?>


x-demon 27.07.2008 12:45

Вдогонку проверка тиц, на основе яндекс бара.
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;
}
?>


still12 26.11.2008 23:16

В один день перестало работать
 
Везде где используется этот скрипт на сегоднишний день значения тиц = 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;
         
     } 
     
    

}



?>


gisTy 30.11.2008 10:39

Цитата:

Сообщение от x-demon
Вдогонку проверка тиц, на основе яндекс бара.
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;
}
?>


вот же нормальный код привели


Время: 09:10