PageRank checker script Google PageRank checker script
Here is the script which other site using to check PR. You can tweak this script to make it more powerful than what you expect.
If you want to check PR for each data center you only need to replace this url www.google.com/ with the data center you want to check.- <?php
- define(’GOOGLE_MAGIC’, 0xE6359A60);
- function zeroFill($a, $b)
- {
- $z = hexdec(80000000);
- if ($z & $a)
- {
- $a = ($a>>1);
- $a &= (~$z);
- $a |= 0×40000000;
- $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 = 0×9E3779B9;
- $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;
- }
- function getrank($url)
- {
- $url = ‘info:’.$url;
- $ch = GoogleCH(strord($url));
- $file = "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url";
- $data = file($file);
- $rankarray = explode (’:', $data[2]);
- $rank = $rankarray[2];
- return $rank;
- }
- if (isset($_GET[’url’]) && !empty($_GET[’url’]))
- {
- $url = $_GET[’url’];
- $pr = getrank($url);
- $pr_html = ‘
- <div align="left">
- <b>Page rank: </b> ‘.$pr.’
- </div>
- ‘;
- }
- else
- $pr_html = ”;
- ?>
- <html>
- <title>Google Page Rank Checker</title>
- <body>
- <form method="get">
- <table border="0">
- <tr>
- <td>
- Site URL: (example: [url]www.google.com[/url])
- </td>
- <td>
- <input name="url" type="text" value="<?=$_GET[’url’];?>">
- </td>
- <td>
- <input type="submit" value="Get PR">
- </td>
- </tr>
- </table>
- </form>
- <?=$pr_html;?>
- </body>
- </html>
复制代码 |