Algorithme de calcul du checksum Google a jour ?
5 messages • Page 1 sur 1
Consultez la formation sur les stratégies de liens de WebRankInfo / Ranking Metrics
Algorithme de calcul du checksum Google a jour ?
Je me trompe peut-être, mais j'ai l'impression que l'ensemble des scripts php que l'on peut trouver sur le net, fournissant le calcul du pagerank n'ont pas le checksum a jour.
A titre d'exemple, pour une même page, le checksum calculé par la toolbarquery est 8a3a6d4e7 alors que celui que me retourne le script est 774097479781.
Ca fonctionne quand le PageRank est supérieur ou égal a 0, mais si le pagerank est nul, ca retourne une erreur 403. Impossible donc de savoir si le script est blacklisté ou si la page n'est pas rankée.
Est-ce que quelqu'un a une idée sur ou trouver cet algo a jour ? et si possible prédéveloppé en PHP ? (je sais, je demande la lune...).
merci a tous !
A titre d'exemple, pour une même page, le checksum calculé par la toolbarquery est 8a3a6d4e7 alors que celui que me retourne le script est 774097479781.
Ca fonctionne quand le PageRank est supérieur ou égal a 0, mais si le pagerank est nul, ca retourne une erreur 403. Impossible donc de savoir si le script est blacklisté ou si la page n'est pas rankée.
Est-ce que quelqu'un a une idée sur ou trouver cet algo a jour ? et si possible prédéveloppé en PHP ? (je sais, je demande la lune...).
merci a tous !
Le checksum peut varier et oui
Selon le type de serveur 32 ou 64bits par exemple...
Après voilà une classe qui fonctionne parfaitement.
Je te laisse te débrouiller pour l'adapter à ton utilisation propre car j'ai pas le temps
Selon le type de serveur 32 ou 64bits par exemple...
Après voilà une classe qui fonctionne parfaitement.
Je te laisse te débrouiller pour l'adapter à ton utilisation propre car j'ai pas le temps
- Code: Tout sélectionner
<?php
class GooglePageRanker
{
public $googleDomains = Array("toolbarqueries.google.com","www.google.com","toolbarqueries.google.com.tr","www.google.com.tr","toolbarqueries.google.de","www.google.de", "64.233.187.99", "72.14.207.99");
public $GOOGLE_MAGIC = 0xE6359A60;
public $PageRank = -1;
public $cacheExpired = false;
public $debug = false;
function getPageRank($url, $additionalServerUrl = false)
{
$pageRank = 0;
$url = ((substr(strtolower($url),0,7)!="http://") ? "http://".$url : $url);
$queryUrl = "http://".$this->googleDomains[mt_rand(0,count($this->googleDomains)-1)];
$queryUrl .= sprintf("/search?client=navclient-auto&ch=6%s&features=Rank&q=info:%s",
$this->googleCh($this->strord("info:".$url)),
urlencode($url));
$httpClient = new HttpClient();
if($additionalServerUrl)
{
$httpClient->additionalServerUrl = $additionalServerUrl;
}
$content = $httpClient->getSiteContent($queryUrl, false);
if($this->debug)
{
echo $content;
}
if(preg_match("#Rank_1:\d:(\d{1,2})#", $content, $matches))
{
$pageRank = $matches[1];
}
return $pageRank;
}
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 xor32($a, $b)
{
return $this->int32($a) ^ $this->int32($b);
}
function int32($x)
{
$z = hexdec(80000000);
$y = (int) $x;
if($y ==- $z && $x <- $z)
{
$y = (int) ((-1) * $x);
$y = (-1) * $y;
}
return $y;
}
function mix($a,$b,$c)
{
$a -= $b; $a -= $c; $a = $this->xor32($a,$this->zeroFill($c,13));
$b -= $c; $b -= $a; $b = $this->xor32($b,$a<<8);
$c -= $a; $c -= $b; $c = $this->xor32($c,$this->zeroFill($b,13));
$a -= $b; $a -= $c; $a = $this->xor32($a,$this->zeroFill($c,12));
$b -= $c; $b -= $a; $b = $this->xor32($b,$a<<16);
$c -= $a; $c -= $b; $c = $this->xor32($c,$this->zeroFill($b,5));
$a -= $b; $a -= $c; $a = $this->xor32($a,$this->zeroFill($c,3));
$b -= $c; $b -= $a; $b = $this->xor32($b,$a<<10);
$c -= $a; $c -= $b; $c = $this->xor32($c,$this->zeroFill($b,15));
return array($a,$b,$c);
}
function googleCh($url, $length = null)
{
if(is_null($length))
{
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $this->GOOGLE_MAGIC;
$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);
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);
return $mix[2];
}
function strord($string)
{
for($i=0; $i < strlen($string); $i++)
{
$result[$i] = ord($string{$i});
}
return $result;
}
}
?>
5 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Netlinking (liens et référencement) : apprenez ce qu'est réellement un bon lien pour le référencement et surtout comment en obtenir. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google change son algorithme de checksum de la Toolbar
- Le checksum de la Google Toolbar
- Connaitre son PageRank sans la Google Toolbar...
- Trouver son checksum Google avec la toolbar (barre d'outils)
- L'algorithme BlockRank
- Etude du BlockRank, un algorithme de calcul rapide du PageRank
- Analyse de pages similaires
- Les informations de la Google Toolbar
- Calculer l'indice de co-occurrence et le ratio E/F
- Google rachète Orion, un algorithme inventé par Ori Allon
Consultez la description détaillée des produits ou services de Google suivants : Google TrustRank
- Détection de pages dupliquées
Cet outil vous permet de calculer la similarité entre 2 pages web. L'algorithme utilisé repose sur l'analyse des occurrences des mots (mais pas sur leur positionnement dans les pages). Google utilise cette notion à certains endroits dans son algorithme, mais de façon bien plus évoluée que ce petit outil... Avoir des pages trop similaires peut entraîner des problèmes d'indexation... Cet outil vous permettra peut-être de résoudre certains problèmes de contenus dupliqués. - Calcul du taux de backlinks vers pages internes
Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés. - Calcul de l'indice de cooccurrence
Cet outil vous permet de calculer l'indice de co-occurrence de 2 ou 3 termes, ainsi que le ratio E/F. L'indice de co-occurrence mesure le relation entre les termes : plus cet indice est élevé, plus les termes sont reliés. Concrètement, plus l'indice est élevé, plus il est fréquent de trouver des documents qui contiennent les différents termes.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum