[Ищу] Ищу скрипт определения PageRank

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

Leon1010

Создатель
Регистрация
15 Апр 2007
Сообщения
48
Реакции
5
Ищу скрипт определения PageRank сайта, урл которого введен в форму. Чтоб отображался в числом или картинкой.
 
Да не, мне нужен скрипт не который чекает большими базами, а который бы выводил на вэб страницу ПР сайта написанного в форме.
 
Хочу дополнить.
Нужен скрипт, который бы ещё проверял склееный ПР или нет.
 
Да не, мне нужен скрипт не который чекает большими базами, а который бы выводил на вэб страницу ПР сайта написанного в форме.

Так можно выдрать функцию определения ПР и использвать как захочется.

Во вложении ещё один пример, только он требует мультикурл.
 

Вложения

  • pr_ch.rar
    24,7 KB · Просмотры: 32
Нашел вот такой вот, не совсем стандартный выход:
*** скрытое содержание ***
:ay:
да, сайтов с подобными услугами в сети сейчас море... нет смысла выдумывать велосипед
 
PHP:
<?
define('GOOGLE_MAGIC', 0xE6359A60);

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 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){
        case 11: $c+=($url[$k+10]<<24);
        case 10: $c+=($url[$k+9]<<16);
        case 9 : $c+=($url[$k+8]<<8);
        case 8 : $b+=($url[$k+7]<<24);
        case 7 : $b+=($url[$k+6]<<16);
        case 6 : $b+=($url[$k+5]<<8);
        case 5 : $b+=($url[$k+4]);
        case 4 : $a+=($url[$k+3]<<24);
        case 3 : $a+=($url[$k+2]<<16);
        case 2 : $a+=($url[$k+1]<<8);
        case 1 : $a+=($url[$k+0]);
    }
    $mix = mix($a,$b,$c);
    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-auto&ch=6%u&features=Rank&q=".$url,$checksum); // url to get from google

        $contents="";

        $handle = fopen($google_url, "rb");
        $contents = '';
        while(!feof($handle)){
            $contents.= fread($handle, 8192);
        }
        fclose($handle);
        $p=explode(":",$contents);
        if(isset($p[2])):
            $result[1]=$p[2];
        endif;
    endif;
    return $result;
}

function google_pr($url){
  global $db;
    if(eregi('^http://www.',$url)){
        $url_www = str_replace('http://www.','http://',$url);
    }else{
        $url_www = str_replace('http://','http://www.',$url);
    }
    $pr=get_pr($url);
    $output=$pr[0];
    $pagerank=$pr[1];
    sleep(1);
    $pr=get_pr($url_www);
    $output_www=$pr[0];
    $pagerank_www=$pr[1];
    if($pagerank<$pagerank_www){
        $pagerank=$pagerank_www;
    }
    if ($pagerank==-1) {
        $pagerank=0;
    }
    return intval($pagerank);
}
?>
 
  • Заблокирован
  • #9
2 saidxxx
может я ламер но выложеный вами код не работает.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху