Visualizzazione risultati 1 fino 5 di 5

Discussione: [Problema] Script che calcola il Google PageRank

  1. #1
    Guest

    Unhappy [Problema] Script che calcola il Google PageRank

    Ho installato un programma che gestisce i links in directory (http://www.onlinemarketingtoday.com/...nk-management/)

    Purtroppo ho riscontrato qualche problema durante l'installazione e la gestione del programma.

    Al momento non riesco a risolvere il mistero del Pagerank non calcolato.
    Il programma infatti dovrebbe calcolare i PR dei links presenti nella directory e restituirne il valore.
    Però compare sempre un PR0, che è assurdo, visto anche l'esempio:

    M2O.it: Il PR di Google ---> 7
    Il PR nella mia directory ---> 0


    Vi riporto dunque una parte del codice in esame:
    Codice:
    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;
    }
    
    $imgbase = preg_replace("/(.*)$basedir/i", "\$1", $_SERVER["SCRIPT_NAME"]);
    //$imgbase = $imgbase[0];
    $imgbase = "/siti";
    
    function getpr($uri) {
    
    	global $imgbase;
    	
    	$url = 'info:'.$uri;
    	$ch = GoogleCH(strord($url));
    	$ch = "6$ch";
    
    
    
    	$page = @file("http://www.google.com/search?client=navclient-auto&ch=$ch&features=Rank&q=info:".urlencode($uri));
    	//$page = implode(" ", $page); Togli il commento per cercare di far funzionare il PR
    	
    	if (preg_match("/Rank_1:(.):(.+?)\n/is", $page, $res)) {
    
    		return "<img src=\"$imgbase/pr-images/pr".$res[2].".gif\" alt=\"\" />";
    
    	}
    	
    	else return "<img src=\"$imgbase/pr-images/pr0.gif\" alt=\"\" />";
    }
    sapreste aiutarmi?

  2. #2
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Su AV sicuramente non puoi fare nulla del genere.
    Per avere il PR o lo leggi da un altro sito (ma qua le connessioni esterne sono disabilitate), oppure oppure utilizzi le api di google (che non ci sono).
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  3. #3
    L'avatar di secretzone
    secretzone non è connesso Utente giovane
    Data registrazione
    03-02-2005
    Messaggi
    66

    Predefinito

    Ti visualizza sempre pr 0 perchè dallo spazio di altervista non puoi interrogare server esterni. Se nella directory c'è l'opzione per disabilitare il pr, attivala, così almeno non hai l'inconveniente della visualizzazione pr 0 per i siti inseriti.

    Ciao!
    Secret Zone - suonerie, giochi java, software... GRATIS!
    Scambio Links - aumentare PageRank e posizionamento sui motori
    Inserimento nei motori - tool gratuito per indicizzare i nuovi siti
    Calcola il PageRank futuro
    Link Popularity e PageRank Tool - i tuoi links su Google, Msn, Yahoo e Dmoz

  4. #4
    Guest

    Predefinito

    effettivamente mi sono accorto anche io di questa cosa solo adesso.

    Posso installare le API di Google su Altervista?

  5. #5
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Non se pote!
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •