09/10/2018, 23:15
Code hiển thị Page Rank của Google...
Ngày hôm qua lang thang trên các diễn đàn tin học thế giới mình Sưu tầm được cái này hay quá Share cho bà con coi:
<?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 /> ";
} else {
$out = "GET /search?client=navclient-auto&ch=" . $ch . "&features=Rank&q=info:" . $url . " HTTP/1.1 " ;
$out .= "Host: www.google.com " ;
$out .= "Connection: Close " ;
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);
}
}
__________________________________________________ _
www.vietnammillionpixel.com
function pr_image($pagerank){
if($pagerank == 0){
$this->pr = "<img src="images/pr0.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 1){
$this->pr = "<img src="images/pr1.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 2){
$this->pr = "<img src="images/pr2.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 3){
$this->pr = "<img src="images/pr3.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 4){
$this->pr = "<img src="images/pr4.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 5){
$this->pr = "<img src="images/pr5.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 6){
$this->pr = "<img src="images/pr6.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 7){
$this->pr = "<img src="images/pr7.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 8){
$this->pr = "<img src="images/pr8.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 9){
$this->pr = "<img src="images/pr9.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}else{
$this->pr = "<img src="images/pr10.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}
}
function get_pr(){
return $this->pr;
}
}
?>
__________________________________________________ _
www.vietnammillionpixel.com
<?php
include("pagerank.php");
$gpr = new pageRank();
$gpr->printrank("http://www.yahoo.com");
//display image
echo $gpr->get_pr();
?>
<?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 /> ";
} else {
$out = "GET /search?client=navclient-auto&ch=" . $ch . "&features=Rank&q=info:" . $url . " HTTP/1.1 " ;
$out .= "Host: www.google.com " ;
$out .= "Connection: Close " ;
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);
}
}
__________________________________________________ _
www.vietnammillionpixel.com
function pr_image($pagerank){
if($pagerank == 0){
$this->pr = "<img src="images/pr0.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 1){
$this->pr = "<img src="images/pr1.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 2){
$this->pr = "<img src="images/pr2.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 3){
$this->pr = "<img src="images/pr3.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 4){
$this->pr = "<img src="images/pr4.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 5){
$this->pr = "<img src="images/pr5.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 6){
$this->pr = "<img src="images/pr6.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 7){
$this->pr = "<img src="images/pr7.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 8){
$this->pr = "<img src="images/pr8.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}elseif($pagerank == 9){
$this->pr = "<img src="images/pr9.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}else{
$this->pr = "<img src="images/pr10.gif" alt="PageRank " .$pagerank. " out of 10">" ;
}
}
function get_pr(){
return $this->pr;
}
}
?>
__________________________________________________ _
www.vietnammillionpixel.com
<?php
include("pagerank.php");
$gpr = new pageRank();
$gpr->printrank("http://www.yahoo.com");
//display image
echo $gpr->get_pr();
?>
Bài liên quan
Hiện cả Google pagerank và Alexa ranking
sao lại ko thấy ??
Chạy ầm ầm mà
01 www.vn-zoom.com 0 / 10 1,208,094