1. Halo Guest, pastikan Anda selalu menaati peraturan forum sebelum mengirimkan post atau thread baru.

[SHARE] PHP PageRank Checker script

Discussion in 'Pemrograman Web' started by r4tn4, Dec 20, 2011.

  1. r4tn4

    r4tn4 Super Hero

    Joined:
    Mar 31, 2006
    Messages:
    3,828
    Likes Received:
    2,668
    Location:
    https://www.tikie.online
    Langsung saja,

    PHP:
    <?php
    /*
    simpan dengan nama file 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($string0x15050x21);
          
    $check2 $this->stringToNumber($string00x1003F);

        
    $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(
    === ($flag 2)) {
            
    $r += $r;
            
    $r = (int)($r 10) + ($r 10);
          }
          
    $check += $r;
          
    $flag ++;
        }

        
    $check %= 10;
        if(
    !== $check) {
          
    $check 10 $check;
          if(
    === ($flag 2) ) {
            if(
    === ($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$errstr30);

        
    // 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($socket128);
            
    $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
    /*
    simpan dengan nama file 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>
    PageRank Checker Bulk domain, semakin banyak domain yang akan di check semakin besar resource yang diperlukan use it wisely

    PHP:
    <?php
    /*
    page rank bulk checker
    simpan dengan nama file 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>
    Improvisasi header detection, mengetahui apakah domain tersebut di redirect menggunakana 301, silakan pakai kode dibawah ini

    PHP:
    /* 
    simpan dengan nama file 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); 
                $status = domain_status($domain); 
                $result .= "<span style=\"font-weight:bold\">" . $domain . " has pagerank: "; 
                $result .= $pr; 
                $result .= "</span><br />Domain Status: ".$status."<br />\n"; 
                //$title = $domain . ' has pagerank: ' . $pr . ' |Page Rank Checker'; 
            } 
        } 
        $title = 'Page Rank Checker Result'; 
        $result .= "</div>\n"; 
    } else { 
        $title = 'Page Rank Checker'; 

    function domain_status($domain) 

        $result = "<span style=\"color:green;font-size:small\">OK, No 301 Redirection</span>"; 
        $headers = get_headers('http://'.$domain); 
        $check = strpos($headers[0],'301'); 
        if($check !== false) 
        { 
            $result = "<span style=\"color:red;font-size:small\">Watch Out, Found 301 redirection</span>"; 
        } 
        return $result; 

    ?>  

    <!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>
    Merasa bermanfaat, jangan lupa untuk meninggalkan jempol di pojok kiri bawah :senyum:
     
    Last edited: Dec 21, 2011
  2. januaranas

    januaranas Super Hero

    Joined:
    Aug 10, 2010
    Messages:
    2,071
    Likes Received:
    45
    Location:
    Arema ยป Malang
    trims.. coba :D
     
  3. semprulll

    semprulll Super Hero

    Joined:
    Mar 21, 2007
    Messages:
    1,382
    Likes Received:
    38
    Location:
    Kota Baja
    Thanks mastah, ini yang saya cari2 dari jaman dulu :D
     
  4. lerry

    lerry SuperMi

    Joined:
    Oct 21, 2009
    Messages:
    3,500
    Likes Received:
    528
    Wah tutorial nya keren mbak.... Ijin coba nanti ya....
     
  5. GentZu AoZora

    GentZu AoZora Forbidden

    Joined:
    Nov 28, 2010
    Messages:
    2,932
    Likes Received:
    275
    Location:
    Bandung City
    demonya mana mbak? kalau di buat sek sekaligus banyak domain gmn? cara nampilin valid an tidaknya jg gimana?
     
  6. elmarzuqi

    elmarzuqi Nubie_Abadi

    Joined:
    Oct 12, 2010
    Messages:
    1,632
    Likes Received:
    485
    Location:
    Sidoarjo - Suroboyo
    mantab nich mbak. mo coba praktekin dulu.. keren kalo punya PR Checker sendiri :lol:
     
  7. adsenser

    adsenser Ads.id Pro

    Joined:
    Aug 9, 2011
    Messages:
    299
    Likes Received:
    88
    Location:
    adsense-id
    mantap bisa...... :D

    thanks.....
     
  8. aditwebid

    aditwebid Super Hero

    Joined:
    Mar 10, 2011
    Messages:
    1,877
    Likes Received:
    32
    Location:
    Dumai - Medan - Brastagi
    langsung dipasang, kebetulan ada domain nganngur...:D
    ne, udah jadi contohnya:
    Code:
    http://www.cekpr.info
     
    Last edited: Dec 20, 2011
  9. princeanbu

    princeanbu Hero

    Joined:
    Jul 17, 2011
    Messages:
    603
    Likes Received:
    5
    trims, mastah. cobain dulu. :D
     
  10. lazlink

    lazlink Ads.id Pro

    Joined:
    Jun 8, 2011
    Messages:
    354
    Likes Received:
    5
    Location:
    bandung
  11. riyannurbowo

    riyannurbowo Super Hero

    Joined:
    Jan 23, 2010
    Messages:
    835
    Likes Received:
    28
    Sayang cuma bisa ninggalin satu jempol nih. :komunis:
     
  12. r4tn4

    r4tn4 Super Hero

    Joined:
    Mar 31, 2006
    Messages:
    3,828
    Likes Received:
    2,668
    Location:
    https://www.tikie.online
    makasih atas jempol manisnya :) semoga scriptnya bermanfaat,
     
  13. riyannurbowo

    riyannurbowo Super Hero

    Joined:
    Jan 23, 2010
    Messages:
    835
    Likes Received:
    28
    Berarti ini script dasar nih. Tinggal dipermak aja biar keliatan keren. Now let the creativity moves on its own. :komunis:
     
  14. laila

    laila Ads.id Fan

    Joined:
    Jul 13, 2011
    Messages:
    211
    Likes Received:
    0
    nah ini dia ada yang share juga... :D
    thanks berat tante r4tn4... :gembira:
     
  15. masheko

    masheko Hero

    Joined:
    Aug 20, 2009
    Messages:
    712
    Likes Received:
    20
    jempolnya langsung meluncur. :)
    tadi coba cek pr lewatnya webnya agan aditwebid, ternyata website ane punya pr 2. :D
     
  16. pinginsehat

    pinginsehat Banned

    Joined:
    Jul 27, 2010
    Messages:
    3,151
    Likes Received:
    279
    Location:
    Surabaya
    klo mb ratna udh share gini., biasanya bentar lg bkal launching yg versi premium neh.. :piss:
     
  17. zonabisnis

    zonabisnis Super Hero

    Joined:
    Mar 24, 2010
    Messages:
    1,853
    Likes Received:
    197
    Location:
    Tangerang
    thank's... mo dicoba nih

    ---------- Post added at 10:57 PM ---------- Previous post was at 10:42 PM ----------

    untuk membedakan fake & valid juga bisa nih.... klo fake gak muncul, klo valid muncul kekeke
     
    Last edited: Dec 20, 2011
  18. PenjualBayaran

    PenjualBayaran Ads.id Pro

    Joined:
    Apr 4, 2010
    Messages:
    300
    Likes Received:
    1
    Ane kyknya pernah nemu script ini, variablenya sama. Kenapa g pake curl aja?
     
  19. r4tn4

    r4tn4 Super Hero

    Joined:
    Mar 31, 2006
    Messages:
    3,828
    Likes Received:
    2,668
    Location:
    https://www.tikie.online
    hehehehe nggak kok,.... tantanganya kurang nendang,.... lagi nyari yang berasa.. barangkali ada ide mas??

    ---------- Post added at 01:03 AM ---------- Previous post was at 01:01 AM ----------

    ada banyak kok yang share script ginian, cuman sayangnya udah nggak valid, di reject terus sama google, dan gak dapet hasil
    setelah seharian modif dan coba algoritma baru,... bang!!!

    kalo penasaran kenapa gak pake curl? silakan aja pake curl :salaman: :senyum:

    ---------- Post added at 01:04 AM ---------- Previous post was at 01:03 AM ----------

    you got it!
    silakan eksplore sendiri ide dan kreatifitas yang dimiliki :salaman:
     
  20. .MasAdi.

    .MasAdi. Newbie

    Joined:
    Dec 21, 2011
    Messages:
    6
    Likes Received:
    0
    Location:
    Depan PC
    Baru join..
    udah dapet share yg ajib thanks,sis
     

Share This Page