Membuat Script Pagerank dengan PHP
Apakah Google PageRank?
PageRank adalah nilai numerik yang menunjukkan betapa pentingnya sebuah halaman di web. Ia adalah cara Google mengukur pentingnya situs web.
Berikut ini menjelaskan bagaimana Google PageRank:
PageRank relies on the uniquely democratic nature of the web by using its vast link structure as an indicator of an individual page’s value. Google interprets a link from page A to page B as a vote, by page A, for page B. But Google looks at more than the sheer volume of votes, or links a page receives; it also analyzes the page that casts the vote. Votes cast by pages that are themselves “important” weigh more heavily and help to make other pages “important.”
berikut codenya :
pagerank.php
<?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.1rn" ;
$out .= "Host: www.google.comrn" ;
$out .= "Connection: Closernrn" ;
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;
}
}
?>
Penggunaan :
Lakukan hal sebagai berikut :
1. simpan kode diatas sebagai pagerank.php
2. download atau buat sendiri file image, untuk menampilkan peringkat.
3. buat direktori “images” untuk menyimpan file gambar peringkat.
4. Lihat kode di bawah ini tentang bagaimana menggunakan class.
<?php
include("pagerank.php");
$gpr = new pageRank();
$gpr->printrank("http://www.yahoo.com");
//display image
echo $gpr->get_pr();
?>
Beberapa server menghitung checksum yang berbeda membuat script unusable. Jika script tidak bekerja untuk Anda uji script pada server (beberapa account hosting gratis dengan PHP) yang tidak benar dan mendapatkan hasil seperti itu.
sample percobaan klik disini
sumber asli : http://www.bewebmaster.com/141.php


Coba di ulang ak.. kayaknya ada yang salah deh
iya, udah dipake script yang dari ak dan dah jalan.
anehnya di localhost saya jalan tp pas di pindahin ke server g jalan.
tp sekarang dah ok tanks.
mantaps…
???.…
? ????? ??????? ????????? ??????????, ?? ? ?????? ????? ???? ??????????? ???????????...…
Good afternoon! Please e-mail me your contacts. I have a question eric@ollitehnika.ru” rel=”nofollow”>……
Thanks!…