Récuperer le PR d'une URL
23 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
- NextGeneration
- WRInaute impliqué

- Messages: 425
- Inscription: Mer Sep 27, 2006 18:34
l'annuaire mydir récupere le pr de chaque site inscrit. donc dans le code source, on doit trouver une function() qui permet cela. Je vais regarder cette semaine, pour trouver le bout qui t'intéresse
j'ai regardé un peu, ça a l'air space quand même. C'est la seule partie à laquelle je n'ai pas touché. Sauf à enlever l'automatisation de la requête, qui n'est plus faite qu'à la demande maintenant.NextGeneration a écrit:l'annuaire mydir récupere le pr de chaque site inscrit. donc dans le code source, on doit trouver une function() qui permet cela. Je vais regarder cette semaine, pour trouver le bout qui t'intéresse
j'ai regardé un peu, ça a l'air space quand même. C'est la seule partie à laquelle je n'ai pas touché. Sauf à enlever l'automatisation de la requête, qui n'est plus faite qu'à la demande maintenant.
tu as le bout de code sous la main ? merci
je crois qu'il doit tout y avoir
- Code: Tout sélectionner
// Calcul PR
define('GMAG', 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 GCH($adress, $length=null, $init=GMAG) {
if(is_null($length)) {
$length = sizeof($adress);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12) {
$a += ($adress[$k+0] +($adress[$k+1]<<8) +($adress[$k+2]<<16)
+($adress[$k+3]<<24));
$b += ($adress[$k+4] +($adress[$k+5]<<8) +($adress[$k+6]<<16)
+($adress[$k+7]<<24));
$c += ($adress[$k+8] +($adress[$k+9]<<8)
+($adress[$k+10]<<16)+($adress[$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+=($adress[$k+10]<<24);
case 10: $c+=($adress[$k+9]<<16);
case 9 : $c+=($adress[$k+8]<<8);
/* the first byte of c is reserved for the length */
case 8 : $b+=($adress[$k+7]<<24);
case 7 : $b+=($adress[$k+6]<<16);
case 6 : $b+=($adress[$k+5]<<8);
case 5 : $b+=($adress[$k+4]);
case 4 : $a+=($adress[$k+3]<<24);
case 3 : $a+=($adress[$k+2]<<16);
case 2 : $a+=($adress[$k+1]<<8);
case 1 : $a+=($adress[$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;
}
function getPR($_url) {
$adress = 'info:'.$_url;
$ch = GCH(strord($adress));
$adress='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=$adress");
$pr_str = @implode("", $pr);
return substr($pr_str,strrpos($pr_str, ":")+1);
}
merci bcp Leonick
je vois pas ce que tu trouve de bizarre dans le code... es tu sur de m'avoir tout donné ? dans tous les cas je vais comparé cette version avec quelques autres que j'ai déja.
Pour voir, sans se casser la tete, pour chaque page, le PR il existe un petit soft téléchargeable à -http://www.webkeysoft.com/keyword_crawler.php
(il faut cocher l'option PR) j'ai fait quelques test çà semble correct.
Par contre la source que j'ai donné plus haut, je ne sais pas pourquoi ne donne rien. Je vais un petit peu me prendre la tête sur ce truc.
je vois pas ce que tu trouve de bizarre dans le code... es tu sur de m'avoir tout donné ? dans tous les cas je vais comparé cette version avec quelques autres que j'ai déja.
Pour voir, sans se casser la tete, pour chaque page, le PR il existe un petit soft téléchargeable à -http://www.webkeysoft.com/keyword_crawler.php
(il faut cocher l'option PR) j'ai fait quelques test çà semble correct.
Par contre la source que j'ai donné plus haut, je ne sais pas pourquoi ne donne rien. Je vais un petit peu me prendre la tête sur ce truc.
Comment peut-on récupérer le PR d'une URL, facilement ?
(Sans passer par les sites spécialisés qui s'offrent un BL à chaque affichage d'un PR).
Bin le code de mydir c pas le top, doit manquer des trucs ou je sais pas. Me renvoi toujours des trucs aberrant, marche pas sur ovh ...
Par contre j'ai trouvé (php.source) et bricolé un tout petit peu le code ci-dessous. $url étant l'url à analyser (par défaut celle de la page active). Ou bien tu l'envoi ds une table sql si tu veux faire des stats ou autres (la variable induite par getrank($url) )
- Code: Tout sélectionner
<?php
// powered by anyone
//Definie la constante "GOOGLE_MAGIC"
define("GOOGLE_MAGIC", 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;
}
//Cette fonction est utilisée pour le calcul du checksum de Google
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);
}
// Calcul le checksum de Google pour une URL donnée
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) /* Toute les cases retournent vraie */
{
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
/* Le premier byte de c est réservé pour la longueur */
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: rien à additionner */
}
$mix = mix($a,$b,$c);
return $mix[2];
}
// Converti une chaine dans le tableau d'entiers
// contenant une valeur numérique de caractères
function strord($string) {
for($i=0;$i<strlen($string);$i++) {
$result[$i] = ord($string{$i});
}
return $result;
}
// Fonction utilisée pour obtenir la valeur du PageRank.
function getrank($url, $prefix="info:", $datacenter="www.google.com") {
//Si $prefix est "info:", alors la Toolbar pagerank sera retourné.
$url = $prefix.$url;
//Prend le checksum de Google pour $url utilisant la fonction GoogleCH.
$ch = GoogleCH(strord($url));
$file="http://$datacenter/search?client=navclient-auto";
$file.="&ch=6$ch&features=Rank&q=$url";
// si le rank n'existe pas renvoi n/A
$oldlevel = error_reporting(0);
$data = file($file);
error_reporting($oldlevel);
if(!$data || preg_match("/(.*)\.(.*)/i", $url)==0) return "N/A";
$rankarray = explode (":", $data[2]);
$rank = trim($rankarray[2]);
//Renvoie N/A si il n'y a pas de rank.
if($rank=="") return "N/A";
return $rank;
}
// on récupère l'url courante.
function url_actuelle()
{
return $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
}
$url = url_actuelle();
// Affiche le PageRank
echo $url." a pour PR : ".getrank($url);
?>
- NextGeneration
- WRInaute impliqué

- Messages: 425
- Inscription: Mer Sep 27, 2006 18:34
if(!$data || preg_match("/(.*)\.(.*)/i", $url)==0) return "N/A";
if($rank=="") return "N/A";
3 Raisons pour ce "N/A" :
- Page inexistante
- Url mal formée ( cf la regex )
- Pagerank non attribué
( cf code source )
if($rank=="") return "N/A";
3 Raisons pour ce "N/A" :
- Page inexistante
- Url mal formée ( cf la regex )
- Pagerank non attribué
( cf code source )
23 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... 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 :
- Tutoriel URL Rewriting
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- Google n'indexe pas les URL qui se terminent par .0 ?
- Guide d'optimisation des redirections pour le référencement
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Connaitre son PageRank sans la Google Toolbar...
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
- Pourquoi il ne faut pas utiliser d'underscore dans les URL
- Exalead rejoint le protocole Sitemaps.org
- Nouveau format d'URL des referrers Google
- Récupérer une URL
- récupérer variable # ancre url en php
- recuperer 1 seule variable dans URL
- recuperer url du fichier apres upload
- Récupérer url de destination dans une variable
- Récupérer URL réécrite de la page en cours [RESOLU]
- URL Rewriting : dossier virtuel : recuperer variable
- Récupérer les premiers caractères d'une url
- Récupérer un titre dans BDD et le mettre en URL
- récupérer PR d'url vers une nouvelle url ?
- récupérer mes anciennes url rewrité après refonte
- Récupérer une URL complète dans variable en php
- [Réglé] Récupérer une variable dans une URL rewritée ?
- Parser une url, récupérer uniquement une partie
- Récupérer une variable avec une url html
- Analyse des backlinks
Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées. - Recherche de citations d'un site en texte brut
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité





le forum