Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Indicatore automatico di page rank

    Salve, qualcuno conosce uno script per visualizzare in automatico il livello di page rank di un sito? Mi servirebbe però per una lista di siti in una pagina...

    Ho questa pagina php esterna

    Codice PHP:
    <?php
    define
    ('GOOGLE_MAGIC'0xE6359A60);
    class 
    pageRank{
    var 
    $pr
     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 ^= ($this->zeroFill($c,13));
       
    $b -= $c$b -= $a$b ^= ($a<<8);
       
    $c -= $a$c -= $b$c ^= ($this->zeroFill($b,13));
       
    $a -= $b$a -= $c$a ^= ($this->zeroFill($c,12));
       
    $b -= $c$b -= $a$b ^= ($a<<16);
       
    $c -= $a$c -= $b$c ^= ($this->zeroFill($b,5));
       
    $a -= $b$a -= $c$a ^= ($this->zeroFill($c,3));
       
    $b -= $c$b -= $a$b ^= ($a<<10);
       
    $c -= $a$c -= $b$c ^= ($this->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 $this->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 
    $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]);
      }
      
    $mix $this->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 
    printrank($url){
      
    $ch "6".$this->GoogleCH($this->strord("info:" $url));
      
      
    $fp fsockopen("www.google.com"80$errno$errstr30);
      if (!
    $fp) {
         echo 
    "$errstr ($errno)
    \n"
    ;
      } else {
         
    $out "GET /search?client=navclient-auto&ch=" $ch .  "&features=Rank&q=info:" $url " HTTP/1.1\r\n" ;
         
    $out .= "Host: [url]www.google.com\r\n[/url]" ;
         
    $out .= "Connection: Close\r\n\r\n" 
         
    fwrite($fp$out);
         while (!
    feof($fp)) {
           
    $data fgets($fp128);
           
    $pos strpos($data"Rank_");
             if(
    $pos === false){
             }else{
               
    $pagerank substr($data$pos 9);
               
    $this->pr_image($pagerank);
             }
         }
         
    fclose($fp);
      }
     }
    //display pagerank image. Create your own or download images I made for this script. If you make your own make sure to call them pr0.gif, pr1.gif, pr2.gif etc.
     
    function pr_image($pagerank){
      if(
    $pagerank == 0){
       
    $this->pr "<img src=\"images/pr0.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
       }elseif(
    $pagerank == 1){
       
    $this->pr "<img src=\"images/pr1.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
       }elseif(
    $pagerank == 2){
       
    $this->pr "<img src=\"images/pr2.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
       }elseif(
    $pagerank == 3){
       
    $this->pr "<img src=\"images/pr3.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
       }elseif(
    $pagerank == 4){
       
    $this->pr "<img src=\"images/pr4.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
       }elseif(
    $pagerank == 5){
       
    $this->pr "<img src=\"images/pr5.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
       }elseif(
    $pagerank == 6){
       
    $this->pr "<img src=\"images/pr6.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
       }elseif(
    $pagerank == 7){
       
    $this->pr "<img src=\"images/pr7.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
       }elseif(
    $pagerank == 8){
       
    $this->pr "<img src=\"images/pr8.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
       }elseif(
    $pagerank == 9){
       
    $this->pr "<img src=\"immagini/pr9.gif\" alt=\"PageRank " .$pagerank" out of 10\">" ;
       }
     }
     function 
    get_pr(){
      return 
    $this->pr;
     }
    }
    ?>
    E per visualizzare questo:

    codice:
    <?php
    include("pagerank.php");
    $gpr = new pageRank();
    $gpr->printrank("http://www.yahoo.com");
    //display image
    echo $gpr->get_pr();
    ?>
    Ma funziona soltanto 1 sola volta, la prima. Se metto il codice per visualizzare una seconda volta nella stessa pagina mi da errore.

    Cosa c'è di sbagliato?*

    Grazie

  2. #2
    QUI trovi un tutorial che spiega come trovare il pagerank di un sito con le classi messe a diposizione da google.

  3. #3
    Originariamente inviato da Mas245
    QUI trovi un tutorial che spiega come trovare il pagerank di un sito con le classi messe a diposizione da google.
    Grazie, ma preferivo mettere un'indicatore fisso per ciascun sito della mia lista, non un elaboratore.

    Stefano

  4. #4
    Da li lo ricavi e lo visualizzi dove vuoi basta che metti l'url preimpostato
    Codice PHP:
    include('google_pagerank.class.php');  
    $URLSito ="www.tuosito.it";
    $googlePageRank = new GooglePageRank($URLSito);  
    echo 
    "Il pagerank di $URLSito è "$googlePageRank->pagerank

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.