Hi, I am looking for a way to automatically get a page for its pagerank. Preferably using PHP, but any other language will do as well. There are so many sites out there that provide this functionality that it can not be difficult to write a programme that does it
so you wanted a script that can check page rank? try this one: http://www.programmerstalk.net/thread911.html I haven't personally tried it out, it's one of our member that posted there :-/ compare it with: http://pr.blogflux.com/
Ok this is from http://www.bewebmaster.com/141.php But ill explain it easier: If your not aware of OOP (Class's and functions) here is a page for you to save. <?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 9 : $c+=($url[$k+8]<<8); /* the first byte of c is reserved for the length */ 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 = $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, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET /search?client=navclient-auto&ch=" . $ch . "&features=Rank&q=info:" . $url . " HTTP/1.1\r\n" ; $out .= "Host: www.google.com\r\n" ; $out .= "Connection: Close\r\n\r\n" ; fwrite($fp, $out); while (!feof($fp)) { $data = fgets($fp, 128); $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){ $this->pr = "<img src=\"images/pr".$pagerank.".gif\" alt=\"PageRank ".$pagerank." out of 10\">" ; } function get_pr(){ return $this->pr; } } ?> PHP: Save it as pagerank.php Then to basically call the pagerank you include the file and call the class and function so: <?php include("pagerank.php"); $gpr = new pageRank(); $gpr->printrank("http://www.yahoo.com"); //display image echo $gpr->get_pr(); ?> PHP: Basically change the $gpr->printrank("http://www.yahoo.com"); to $gpr->printrank("http://www.yoursite.com"); Also make images for the page rank i.e Your page rank is one and call them pr(number).gif i.e pr1.gif pr2.gif etc Hope that helps and for you to print the rank of the website you put the code on without entering the url do: <?php include("pagerank.php"); $gpr = new pageRank(); $gpr->printrank($_SERVER['http_host']); //display image echo $gpr->get_pr(); ?> PHP: Hope that helps
Good post, I think this same script was linked before, but very informative. How is this? http://getaroundme.com/otherscripts/ajaxcheck/
If you search through Google for pagerank script code you should find many examples of the pagerank script. You can find examples in many different languages.
For Perl, you can use WWW::Google:ageRank, http://search.cpan.org/~ykar/WWW-Google-PageRank-0.13/lib/WWW/Google/PageRank.pm. Very easy to use.