Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

Récupération du PR d'une page

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
syrx20
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 12 Aoû 2005
Messages: 175

URL permanente de ce messagePosté le : Lun Nov 19, 2007 12:37    Sujet du message: Récupération du PR d'une page

Le script de récupération du PageRank que j'utilisais ne fonctionne plus.

Est ce quelqu'un en aurait un qui marche depuis la mise à jour du PR ?

Merci
 
syrx20 Visiter le site web du posteur
acamar
WRInaute accro
WRInaute accro

Inscrit le: 27 Nov 2005
Messages: 1433
Localisation: ma

URL permanente de ce messagePosté le : Lun Nov 19, 2007 13:15    Sujet du message: Récupération du PR d'une page

Tiens celui là qui marche sur tout les hebergeur (OVH compris) peut être aussi pour Free, et genre lui même le graphique semblable au PR affiché dans les répertoires de Google.. juste un petit problème j'ai pas su comment l'intégrer car il pas une image mais du code html sinon il est très fiable :


Code:
<?php



//PageRank Lookup v1.1 by HM2K (update: 31/01/07)

//based on an alogoritham found here: http://pagerank.gamesaga.net/



//settings - host and user agent

$googlehost='toolbarqueries.google.com';

$googleua='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';



//convert a string to a 32-bit integer

function StrToNum($Str, $Check, $Magic) {

    $Int32Unit = 4294967296;  // 2^32



    $length = strlen($Str);

    for ($i = 0; $i < $length; $i++) {

        $Check *= $Magic;    

        //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31),

        //  the result of converting to integer is undefined

        //  refer to http://www.php.net/manual/en/language.types.integer.php

        if ($Check >= $Int32Unit) {

            $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));

            //if the check less than -2^31

            $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;

        }

        $Check += ord($Str{$i});

    }

    return $Check;

}



//genearate a hash for a url

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);

}



//genearate a checksum for the hash string

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;

}



//return the pagerank checksum hash

function getch($url) { return CheckHash(HashURL($url)); }



//return the pagerank figure

function getpr($url) {

   global $googlehost,$googleua;

   $ch = getch($url);

   $fp = fsockopen($googlehost, 80, $errno, $errstr, 30);

   if ($fp) {

      $out = "GET /search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url HTTP/1.1\r\n";

      //echo "<pre>$out</pre>\n"; //debug only

      $out .= "User-Agent: $googleua\r\n";

      $out .= "Host: $googlehost\r\n";

      $out .= "Connection: Close\r\n\r\n";

   

      fwrite($fp, $out);

      

      //$pagerank = substr(fgets($fp, 128), 4); //debug only

      //echo $pagerank; //debug only

      while (!feof($fp)) {

         $data = fgets($fp, 128);

         //echo $data;

         $pos = strpos($data, "Rank_");

         if($pos === false){} else{

            $pr=substr($data, $pos + 9);

            $pr=trim($pr);

            $pr=str_replace("\n",'',$pr);

            return $pr;

         }

      }

      //else { echo "$errstr ($errno)<br />\n"; } //debug only

      fclose($fp);

   }

}



//generate the graphical pagerank

function pagerank($url,$width=40,$method='style') {

   if (!preg_match('/^(http:\/\/)?([^\/]+)/i', $url)) { $url='http://'.$url; }

   $pr=getpr($url);

   $pagerank="PageRank: $pr/10";



   //The (old) image method

   if ($method == 'image') {

   $prpos=$width*$pr/10;

   $prneg=$width-$prpos;

   $html='<img src="http://www.google.com/images/pos.gif" width='.$prpos.' height=4 border=0 alt="'.$pagerank.'"><img src="http://www.google.com/images/neg.gif" width='.$prneg.' height=4 border=0 alt="'.$pagerank.'">';

   }

   //The pre-styled method

   if ($method == 'style') {

   $prpercent=100*$pr/10;

   $html='<div style="position: relative; width: '.$width.'px; padding: 0; background: #D9D9D9;"><strong style="width: '.$prpercent.'%; display: block; position: relative; background: #5EAA5E; text-align: center; color: #333; height: 4px; line-height: 4px;"><span></span></strong></div>';

   }

   

   $out='<a href="'.$url.'" title="'.$pagerank.'">'.$html.'</a>';

   return $out;

}



//if ((!isset($_POST['url'])) && (!isset($_GET['url']))) { echo '<form action="" method="post"><input name="url" type="text"><input type="submit" name="Submit" value="Get Pagerank"></form>'; }

if (isset($_REQUEST['url'])) { echo pagerank($_REQUEST['url']); }

?>


Exemple : http://www.milafat.net/pagerank/display.php?url=http://www.webrankinfo.com
 
acamar Visiter le site web du posteur
zeb
WRInaute accro
WRInaute accro

Inscrit le: 05 Déc 2004
Messages: 1002

URL permanente de ce messagePosté le : Lun Nov 19, 2007 17:23    Sujet du message: Récupération du PR d'une page

pour un affichage dans les deux modes possibles :
Code:
   if (isset($_REQUEST['url'])) { echo pagerank($_REQUEST['url'],40,'style').'<br/><br/>'; }
   if (isset($_REQUEST['url'])) { echo pagerank($_REQUEST['url'],40,'image').'<br/><br/>'; }

(en fin du script)

sinon pour avoir une image (en fait deux images qui en forment une) il faux bidouiller la fonction pagerank($url,$width=40,$method='style')

Code:
<img src="http://www.google.com/images/pos.gif" width=16 height=4 border=0 alt="PageRank: 4/10">
<img src="http://www.google.com/images/neg.gif" width=24 height=4 border=0 alt="PageRank: 4/10">


ça marche chez free aussi
 
zeb Visiter le site web du posteur
zeb
WRInaute accro
WRInaute accro

Inscrit le: 05 Déc 2004
Messages: 1002

URL permanente de ce messagePosté le : Lun Nov 19, 2007 21:40    Sujet du message: Récupération du PR d'une page

marche plus chez free ? ... ? mais OK chez 1&1
bizarre car testé il y a qque heures ça tournait parfaitement.
 
zeb Visiter le site web du posteur
acamar
WRInaute accro
WRInaute accro

Inscrit le: 27 Nov 2005
Messages: 1433
Localisation: ma

URL permanente de ce messagePosté le : Lun Nov 19, 2007 21:47    Sujet du message: Récupération du PR d'une page

J'ai même bidouiller ceci pour un affichage classique en images du PR
Code:
   //The classic method
   if ($method == 'classic') {
   $prpos=$width*$pr/10;
   $prneg=$width-$prpos;
   $html='<img border="0" src="img/pr'.$pr.'.gif" alt="'.$pagerank.'">';

Sinon pour l'autre bidouille, je pige encore pas.. parce que moi.. PHP.. tu vois...

Pour ce qui est de Free ces denier temps c'est du n'importe quoi.. j'ai même pas pu parvenu à me connecter en FTP pour essayer le script du coup j'ai abandonné...
 
acamar Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort