Simple pagerank script

Discussion in 'PHP' started by PuneetJvw, Mar 16, 2012.

  1. #1
    Where can i download a simple pagerank script where i enter a domain name in text box, hit enter and it will show me the pagerank of that Domain.

    All my previous scripts have stopped working.

    Any help would be appreciated.

    thanks.
     
    PuneetJvw, Mar 16, 2012 IP
  2. masrimanas

    masrimanas Member

    Messages:
    81
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    45
    #2
    
    <?php
    /*
    save as pagerank.class.php
    */
    class GooglePageRankChecker {
    
      // Track the instance
      private static $instance;
    
      // Constructor
      function getRank($page) {
        // Create the instance, if one isn't created yet
        if(!isset(self::$instance)) {
          self::$instance = new self();
        }
        // Return the result
        return self::$instance->check($page);
      }
    
      // Convert string to a number
      function stringToNumber($string,$check,$magic) {
        $int32 = 4294967296;  // 2^32
          $length = strlen($string);
          for ($i = 0; $i < $length; $i++) {
              $check *= $magic;
              //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31),
              //  the result of converting to integer is undefined
              //  refer to http://www.php.net/manual/en/language.types.integer.php
              if($check >= $int32) {
                  $check = ($check - $int32 * (int) ($check / $int32));
                  //if the check less than -2^31
                  $check = ($check < -($int32 / 2)) ? ($check + $int32) : $check;
              }
              $check += ord($string{$i});
          }
          return $check;
      }
    
      // Create a url hash
      function createHash($string) {
        $check1 = $this->stringToNumber($string, 0x1505, 0x21);
          $check2 = $this->stringToNumber($string, 0, 0x1003F);
    
        $factor = 4;
        $halfFactor = $factor/2;
    
          $check1 >>= $halfFactor;
          $check1 = (($check1 >> $factor) & 0x3FFFFC0 ) | ($check1 & 0x3F);
          $check1 = (($check1 >> $factor) & 0x3FFC00 ) | ($check1 & 0x3FF);
          $check1 = (($check1 >> $factor) & 0x3C000 ) | ($check1 & 0x3FFF);  
    
          $calc1 = (((($check1 & 0x3C0) << $factor) | ($check1 & 0x3C)) << $halfFactor ) | ($check2 & 0xF0F );
          $calc2 = (((($check1 & 0xFFFFC000) << $factor) | ($check1 & 0x3C00)) << 0xA) | ($check2 & 0xF0F0000 );
    
          return ($calc1 | $calc2);
      }
    
      // Create checksum for hash
      function checkHash($hashNumber)
      {
          $check = 0;
        $flag = 0;
    
        $hashString = sprintf('%u', $hashNumber) ;
        $length = strlen($hashString);
    
        for ($i = $length - 1;  $i >= 0;  $i --) {
          $r = $hashString{$i};
          if(1 === ($flag % 2)) {
            $r += $r;
            $r = (int)($r / 10) + ($r % 10);
          }
          $check += $r;
          $flag ++;
        }
    
        $check %= 10;
        if(0 !== $check) {
          $check = 10 - $check;
          if(1 === ($flag % 2) ) {
            if(1 === ($check % 2)) {
              $check += 9;
            }
            $check >>= 1;
          }
        }
    
        return '7'.$check.$hashString;
      }
    
      function check($page) {
    
        // Open a socket to the toolbarqueries address, used by Google Toolbar
        $socket = fsockopen("toolbarqueries.google.com", 80, $errno, $errstr, 30);
    
        // If a connection can be established
        if($socket) {
          // Prep socket headers
          $out = "GET /tbr?client=navclient-auto&ch=".$this->checkHash($this->createHash($page)).
                  "&features=Rank&q=info:".$page."&num=100&filter=0 HTTP/1.1\r\n";
          $out .= "Host: toolbarqueries.google.com\r\n";
          $out .= "User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114-big; Windows XP 5.1)\r\n";
          $out .= "Connection: Close\r\n\r\n";
    
          // Write settings to the socket
          fwrite($socket, $out);
    
          // When a response is received...
          $result = "";
          while(!feof($socket)) {
            $data = fgets($socket, 128);
            $pos = strpos($data, "Rank_");
            if($pos !== false){
              $pagerank = substr($data, $pos + 9);
              $result += $pagerank;
            }
          }
          // Close the connection
          fclose($socket);
    
          // Return the rank!
          return $result;
        }
      }
    }
    
    ?>
    
    PHP:
    
    <?php
    /*
    save  as index.php
    */
    
    if (isset($_REQUEST['domain'])) {
        include('pagerank.class.php');
        $domain = str_replace('http://', '', trim($_REQUEST['domain']));
        $check = new GooglePageRankChecker;
        $pr = $check -> getRank($domain);
        $result = '<div align="center"><h2>' . $domain . ' has pagerank: ';
        $result .= $pr;
        $result .= '</h2></div>';
        $title =  $domain . ' has pagerank: '.$pr .' |Page Rank Checker';
    }
    else
    {
        $title = 'Page Rank Checker';
    }
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    	<meta name="author" content="Miftahul Firdaus" />
    
    	<title><?php echo $title; ?></title>
    </head>
    
    <body>
    <?php
    if(isset($result)) echo $result;
    ?>
    <div align="center">
    <form action="" method="post">
    <input type="text" name="domain" size="75" placeholder="domain name here"/><br />
    <input type="submit" name="submit" value="Check PR"/>
    
    </form>
    </div>
    </body>
    </html>
    
    PHP:
    PageRank Checker Bulk domain

    
    <?php
    /*
    page rank bulk checker
     save as index.php 
    */
    
    if (isset($_REQUEST['domain'])) {
        include ('pagerank.class.php');
        $check = new GooglePageRankChecker;
        $domainlist = explode("\n", trim($_REQUEST['domain']));
        $result = "<div align=\"center\">\n";
        foreach ($domainlist as $domain) {
            $domain = trim($domain);
            if ($domain != "") {
                $pr = $check->getRank($domain);
                $result .= "<span>" . $domain . " has pagerank: ";
                $result .= $pr;
                $result .= "</span><br />\n";
            }
        }
        $title = 'Page Rank Checker Result';
        $result .= "</div>\n";
    } else {
        $title = 'Page Rank Checker';
    }
    ?> 
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    
    <head> 
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> 
        <meta name="author" content="Miftahul Firdaus" /> 
    
        <title><?php echo $title; ?></title> 
    </head> 
    
    <body> 
    <?php
    if (isset($result))
        echo $result;
    ?> 
    <div align="center"> 
    <form action="" method="post"> 
    <textarea name="domain" style="width: 200px;height:100px;"></textarea>
    <br /> 
    <input type="submit" name="submit" value="Check PR"/> 
    
    </form> 
    </div> 
    </body> 
    </html>
    
    PHP:
     
    masrimanas, Mar 16, 2012 IP
    PuneetJvw likes this.
  3. PuneetJvw

    PuneetJvw Well-Known Member

    Messages:
    2,313
    Likes Received:
    10
    Best Answers:
    0
    Trophy Points:
    185
    Digital Goods:
    1
    Articles:
    2
    #3
    masrimanas you rock man !!!
     
    PuneetJvw, Mar 16, 2012 IP
  4. masrimanas

    masrimanas Member

    Messages:
    81
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    45
    #4
    This script isn't made by me. I just copying it from my friend's post:)
     
    masrimanas, Mar 16, 2012 IP
  5. onlinemoneytips

    onlinemoneytips Peon

    Messages:
    8
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    1
    #5
    wow great script bro i try thanks for share :)
     
    onlinemoneytips, Feb 10, 2013 IP
  6. realturk

    realturk Active Member

    Messages:
    38
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    93
    #6
    perfect thanks :)
     
    realturk, Feb 11, 2013 IP
  7. freelanceinphp

    freelanceinphp Member

    Messages:
    134
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    48
    #7
    Very useful script , thank you masrimanas to share here:D
     
    freelanceinphp, Feb 12, 2013 IP
  8. Sashakta

    Sashakta Greenhorn

    Messages:
    244
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    16
    #8
    I Don't know, thanks for sharing these tips.
     
    Sashakta, Feb 12, 2013 IP