Obtener el PageRank de una página con PHP

Por el 29 de Diciembre de 2008

en: Negocio| Programacion

PageRankEl PageRank es un valor numérico que representa la importancia que una página web tiene en Internet.

Primero habría que reseñar que podemos apreciar que el PageRank no cumple las características de un ranking normal, pero sí está definido para cada página. El PageRank de una pagina (A) esta definido de manera recursiva por los PageRanks de las diferentes páginas que enlazan a la página(A).

Obtener el PageRank de una página con PHP

El siguiente script puede ser descargado de aquí, su implementación es muy sencilla ya que únicamente hay que pasarle el parámetro “url” (con la url de la que se quiere desvelar el PageRank).

www.adobe.com

Posibles respuestas a la ejecución del script

  • A: valor numérico de 1 a 10.
  • B: Si no hay salida es que la página no tiene PageRank asignado.
  • C: 0, es duro pero ese sería el valor del PageRank de la página dada.


<?php
function StrToNum($Str, $Check, $Magic)
{
    $Int32Unit = 4294967296; // 2^32
    $length = strlen($Str);
    for ($i = 0; $i < $length; $i++)
    {
        $Check *= $Magic;
        if ($Check >= $Int32Unit)
        {
            $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
            $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
        }
        $Check += ord($Str{$i});
    }
return $Check;
}

function HashURL($String)
{
    $Check1 = StrToNum($String, 0x1505, 0x21);
    $Check2 = StrToNum($String, 0, 0x1003F);

    $Check1 >>= 2;
    $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
    $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
    $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);

    $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 )
    | ($Check2 & 0xF0F );
    $T2 = (((($Check1 & 0xFFFFC000) << 4) |
    ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );

    return ($T1 | $T2);
}

function CheckHash($Hashnum)
{
    $CheckByte = 0;
    $Flag = 0;

    $HashStr = sprintf('%u', $Hashnum) ;
    $length = strlen($HashStr);

    for ($i = $length - 1; $i >= 0; $i --)
    {
        $Re = $HashStr{$i};
        if (1 === ($Flag % 2))
        {
            $Re += $Re;
            $Re = (int)($Re / 10) + ($Re % 10);
        }
        $CheckByte += $Re;
        $Flag ++;
    }

    $CheckByte %= 10;
    if (0 !== $CheckByte)
    {
        $CheckByte = 10 - $CheckByte;
        if (1 === ($Flag % 2) )
        {
            if (1 === ($CheckByte % 2))
            {
                $CheckByte += 9;
            }
            $CheckByte >>= 1;
        }
    }

    return '7'.$CheckByte.$HashStr;
}

function getpagerank($url)
{
    $query="http://toolbarqueries.google.com/search?client=navclient-auto&ch="
    .CheckHash(HashURL($url)).
    &features=Rank&q=info:".$url."&num=100&filter=0";
    $data=file_get_contents($query);
    $pos = strpos($data, "Rank_");
    if($pos === false)
    {
    }
    else
    {
        $pagerank = substr($data, $pos + 9);
        return $pagerank;
    }
}

if(isset($_GET['url']))
{
    echo getpagerank($_GET['url']);
}

?>

PageRank 10

En este gráfico podemos apreciar la dramática subida que tendremos que afrontar si queremos llevar un sitio web a un valor de PageRank alto (> 5), como se puede apreciar el salto de PageRank 9 a PageRank 10 es un abismo, pero como veremos despues en algunos de los “mitos sobre el pagerank” el valor del PageRank es un número real y no uno entero como muchos usuarios piensan… por ello el salto de un valor de PageRank a otro es un proceso gradual pero invisible para nuestros ojos.

PageRank10

Imagen de Elliance

Hace algún tiempo publicamos esta entrada con curiosidades del PageRank y un listado de páginas con PageRank 10, ahora ninguna de estas páginas dispone de PageRank 10 e incluso el dominio “www.google.com” tiene PageRank 8.

1 Respuesta a Obtener el PageRank de una página con PHP

Avatar

Juanra

30 de Diciembre de 2008 a las 5:17 am

google.com si lo tiene, debes acceder a través de google.es a “Google.com in English”

Avatar

manu

30 de Diciembre de 2008 a las 6:04 pm

Muchas gracias Juanra estás en lo cierto! has visto alguna página con PageRank 10

Avatar

Anónimo

9 de Enero de 2009 a las 9:29 am

Hola gente.

Para saber el Page Rank no hace falta mucha cosa.
Si utilizas el navegador Firefox existe un plugin buenísimo para saber Pagerank, paginas indexadas, ranking de Alexa etc…

También se puede saber el Page rank con IE instalando la barra de google en el navegador.

Espero que haya sido e ayuda.

Un saludo.

Avatar

Anónimo

27 de Febrero de 2009 a las 12:46 pm

copio el código y que hago con el?
me responde alguien?
gracias

Avatar

Anónimo

31 de Marzo de 2009 a las 11:46 am

Harías:
http://www.tudominio.com/pagerankcode.php?url=www.canaldeportivo.com
Magnífico script, me lo guardo.
Felicidades

Dejar un comentario