找回密码
 注册账户
查看: 2624|回复: 3

PageRank checker script

[复制链接]
棋子 发表于 2007-8-8 13:57:57 | 显示全部楼层 |阅读模式
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.
  1. <?php
  2. define(’GOOGLE_MAGIC’, 0xE6359A60);

  3. function zeroFill($a, $b)
  4. {
  5. $z = hexdec(80000000);
  6. if ($z & $a)
  7. {
  8. $a = ($a>>1);
  9. $a &= (~$z);
  10. $a |= 0×40000000;
  11. $a = ($a>>($b-1));
  12. }
  13. else
  14. {
  15. $a = ($a>>$b);
  16. }
  17. return $a;
  18. }

  19. function mix($a,$b,$c) {
  20. $a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
  21. $b -= $c; $b -= $a; $b ^= ($a<<8);
  22. $c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
  23. $a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
  24. $b -= $c; $b -= $a; $b ^= ($a<<16);
  25. $c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
  26. $a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
  27. $b -= $c; $b -= $a; $b ^= ($a<<10);
  28. $c -= $a; $c -= $b; $c ^= (zeroFill($b,15));

  29. return array($a,$b,$c);
  30. }

  31. function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
  32. if(is_null($length)) {
  33. $length = sizeof($url);
  34. }
  35. $a = $b = 0×9E3779B9;
  36. $c = $init;
  37. $k = 0;
  38. $len = $length;
  39. while($len >= 12) {
  40. $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
  41. $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
  42. $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
  43. $mix = mix($a,$b,$c);
  44. $a = $mix[0]; $b = $mix[1]; $c = $mix[2];
  45. $k += 12;
  46. $len -= 12;
  47. }

  48. $c += $length;
  49. switch($len)
  50. {
  51. case 11: $c+=($url[$k+10]<<24);
  52. case 10: $c+=($url[$k+9]<<16);
  53. case 9 : $c+=($url[$k+8]<<8);
  54. case 8 : $b+=($url[$k+7]<<24);
  55. case 7 : $b+=($url[$k+6]<<16);
  56. case 6 : $b+=($url[$k+5]<<8);
  57. case 5 : $b+=($url[$k+4]);
  58. case 4 : $a+=($url[$k+3]<<24);
  59. case 3 : $a+=($url[$k+2]<<16);
  60. case 2 : $a+=($url[$k+1]<<8);
  61. case 1 : $a+=($url[$k+0]);
  62. }
  63. $mix = mix($a,$b,$c);
  64. return $mix[2];
  65. }

  66. function strord($string) {
  67. for($i=0;$i<strlen($string);$i++) {
  68. $result[$i] = ord($string{$i});
  69. }
  70. return $result;
  71. }

  72. function getrank($url)
  73. {
  74. $url = ‘info:’.$url;
  75. $ch = GoogleCH(strord($url));

  76. $file = "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url";
  77. $data = file($file);
  78. $rankarray = explode (’:', $data[2]);
  79. $rank = $rankarray[2];
  80. return $rank;
  81. }
  82. if (isset($_GET[’url’]) && !empty($_GET[’url’]))
  83. {
  84. $url = $_GET[’url’];
  85. $pr = getrank($url);
  86. $pr_html = ‘
  87. <div align="left">
  88. <b>Page rank: </b> ‘.$pr.’
  89. </div>
  90. ‘;
  91. }
  92. else
  93. $pr_html = ”;

  94. ?>
  95. <html>
  96. <title>Google Page Rank Checker</title>
  97. <body>
  98. <form method="get">
  99. <table border="0">
  100. <tr>
  101. <td>
  102. Site URL: (example: [url]www.google.com[/url])
  103. </td>
  104. <td>
  105. <input name="url" type="text" value="<?=$_GET[’url’];?>">
  106. </td>
  107. <td>
  108. <input type="submit" value="Get PR">
  109. </td>
  110. </tr>
  111. </table>
  112. </form>
  113. <?=$pr_html;?>
  114. </body>
  115. </html>
复制代码
abo521 发表于 2007-10-19 08:59:12 | 显示全部楼层
收下了...........
lkjpasdq 发表于 2007-10-19 14:55:53 | 显示全部楼层
看看先
unknown 发表于 2007-11-25 00:32:59 | 显示全部楼层
一个字,牛...
您需要登录后才可以回帖 登录 | 注册账户

本版积分规则

存档|黑屋|手机|网络实验室 本站服务器由美国合租以及IDCLayer国际数据提供!!!

GMT+8, 2026-6-4 19:27 , Processed in 0.009497 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表