PR Berechnungs script

weissNix

Aktives Mitglied
Habe unten stehendes Script gefunden um den PR zu berechnen, scheint zu funktionieren nur gibt sich das Script glaubs durch client=navclient-auto als Toolbar aus. Nun wollte ich fragen wie ich das abändern kann, dass es über meinen API Key abläuft komme irgendwie mit der Abfrage nicht ganz draus.

CODE <?php

define('GMAG', 0xE6359A60);

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 ^= (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 GCH($url, $length=null, $init=GMAG) {
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 = 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 getPR($_url) {
$url = 'info:'.$_url;
$ch = GCH(strord($url));
$url='info:'.urlencode($_url);
$pr = file("http://www.google.com/search?client=navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url");
$pr_str = implode("", $pr);
return substr($pr_str,strrpos($pr_str, ":")+1);
}


echo "<b>Der Pagerank dieser Homepage ist:".getPR("blabaladomain");?>
 
@boa, k.A., ich bin kein RA ;-) Anyway ist das Script die PHP Variante des rückwärts gebauten Google PR Checksummen Scriptes. Es ist Public Domain. Evtl. könnte Google die Verwendung verbieten.

QUOTE Nun wollte ich fragen wie ich das abändern kann, dass es über meinen API Key abläuft komme irgendwie mit der Abfrage nicht ganz draus.

Error overflow... Falsche Frage.

Hintergründe:
Jede Url hat eine Prüfsumme, der Google ihren PR Wert zuordnet. Die Prüfsumme (welche das Script berechnet) dient zur eindeutigen Bestimmung einer Url.

Was macht das Script:
Es berechnet die Prüfsumme zur Url, übermittelt diese dann an den Google Server, worauf er den PR Wert zurückgibt. Das Verfahren ist für den Einsatz in der Google Toolbar gedacht.

Zurück zur Frage:
Du möchtest den PageRank zu einer Url über die Google API auslesen? Das geht nicht, da Google diese Funktion nicht anbietet.

Credits zum Script (afaik): Alex Stapleton, Andy Doctorow, Vijay "Cyberax" Bhatter, and a few others.
 
Ich glaube auch Google hat die veröffentlichung untersagt. Jedenfalls ist das Script sofort immer aus allen Foren wieder verschwunden als es damals rauskam.
 
Hmm und kann mal sonst irgendwie den PR von anderen Webseiten berechnen auf eine legale Art?

EDIT: Noch eine Frage wie sieht es damit aus, wenn man PRs von Webseiten in einer Datenbank abspeichert ist dies auch verboten?


EDIT2: Igendwie müsste es ja gehen den ziemlich viele Seiten bitten dies an
sad.gif
 
Zurück
Oben