Ciao ragazzi,
qualcuno sa se sia possibile fare una query (via software) da qualche parte per ottenere il pagerank di un sito?![]()
![]()
![]()
Ciao ragazzi,
qualcuno sa se sia possibile fare una query (via software) da qualche parte per ottenere il pagerank di un sito?![]()
![]()
![]()
Ti ringrazio per il link che già conoscevo ma la mia domanda è leggermente differente: google mette a dispozione uno strumento che interrogato restituisca quel valore?
Ovvero come è fatto il pagerank calculator che troviamo in quei 2 siti? Non ditemi che è un banale strumento di parsing.
No, non solo, scoraggia dal farlo forse anche nel contratto di licenza.google mette a dispozione uno strumento che interrogato restituisca quel valore?
Chiedilo a loro.Ovvero come è fatto il pagerank calculator che troviamo in quei 2 siti? Non ditemi che è un banale strumento di parsing.![]()
Con 30 righe di codice ti fai un programmino per leggere il pr, pero' devi passare il parametro "ch" della pagina che ti interessa a G che ti restituisce il pr. Per sapere il ch purtroppo devi leggertelo dalla cache, pertanto normalmente si una un programmino che ti apre al volo tutte le pagine che ti interessano e poi dalla cache del tuo hd si legge il pr per ognuna di essa.
"Altre fonti attendibili dicono che è raro... raro che sia evidentemente osservabile..." -UtèñtE-
Prova a vedere qui se c'è qualcosa di utile:
http://www.internet-search-engines-f...age-rank.shtml
![]()
Agoago scrive:
Ero rimasto al paleolitico, ho scovato in una pagina di cache nella serp di G questo code, non l'ho ancora testato ma lo danno per perfettamente funzionante. Una volta che hai il ch fai una query a G e ti risponde con il pr:Per sapere il ch purtroppo devi leggertelo dalla cache, pertanto normalmente si una un programmino che ti apre al volo tutte le pagine che ti interessano e poi dalla cache del tuo hd si legge il pr per ognuna di essa.
<?php
/*
This code is released unto the public domain
*/
header("Content-Type: text/plain; charset=utf-8");
define('GOOGLE_MAGIC', 0xE6359A60);
//unsigned shift right
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 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 = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len) /* all the case statements fall through */
{
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]);
/* case 0: nothing left to add */
}
$mix = 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;
}
// http://www.example.com/ - Checksum: 6540747202
$url = 'info:'.$_GET['url'];
print("url:\t{$_GET['url']}\n");
$ch = GoogleCH(strord($url));
printf("ch:\t6%u\n",$ch);
?>
"Altre fonti attendibili dicono che è raro... raro che sia evidentemente osservabile..." -UtèñtE-
In effetti il programma postato da agoago restituisce un numero nella variabile ch però:
- cosa è il ch?
- come verifico se è esatto?
- dal ch come calcolo il PR?![]()
![]()