Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Query per pagerank

  1. #1

    Query per pagerank

    Ciao ragazzi,
    qualcuno sa se sia possibile fare una query (via software) da qualche parte per ottenere il pagerank di un sito?

  2. #2

  3. #3
    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.

  4. #4
    google mette a dispozione uno strumento che interrogato restituisca quel valore?
    No, non solo, scoraggia dal farlo forse anche nel contratto di licenza.

    Ovvero come è fatto il pagerank calculator che troviamo in quei 2 siti? Non ditemi che è un banale strumento di parsing.
    Chiedilo a loro.

  5. #5
    Utente di HTML.it L'avatar di agoago
    Registrato dal
    Jan 2002
    Messaggi
    954
    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-

  6. #6

  7. #7
    Utente di HTML.it L'avatar di agoago
    Registrato dal
    Jan 2002
    Messaggi
    954
    Agoago scrive:
    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.
    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:

    <?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-

  8. #8
    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?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.