Vous êtes ici Codes PHP et MySQL > Google > Afficher le parerank de Google dans une variable

 

Afficher le parerank de Google dans une variable

Voici enfin les fonctions qui vous permettrons d'afficher le PageRank donné par Google de votre site en retournant la valeur du PageRank Google dans une variable. Le script va lire un fichier donné par un serveur de données pour retouner la valeur du PageRank Google. Ce script est basiquement trés simple à installer sur votre site. Voir en bas de script.

ATTENTION:
Pour obtenir la vraie valeur afficher dans la Google barre des navigateurs, vous devrez certainement changer de serveur lors des Google Dances car les serveurs de Google à ce moment la vont aligner leur données et cela va entrainer des informations non mise à jour de ces serveurs (Datas Centers). Donc Vous devrez lors de cette Google Dance peut être modifier l'adresse du serveur sur lequel ce flux est pris. Voici ci-dessous la liste de ces serveurs :

A PLACER DANS LES PARAMETRES DE LA FONCTION getrank()

$fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
ET
$out .= "Host: www.google.com\r\n" ;

Quelques serveurs de Google:

www.google.com
216.239.53.99
66.102.11.99
64.233.161.104
64.233.167.104
64.233.171.104

MISE A JOUR DU 19-03-2007:
Un nouvelle article sur le meme sujet: Qu’est-ce que Google PageRank?
 
PHP Sources
Code vu 8390 fois
Enregistré le 05 Aout 2006
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Afficher le parerank de Google dans une variable
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Afficher le parerank de Google dans une variable          */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts177-PHP.htm              */
/* Auteur         : PHP Sources                                               */
/* Date édition   : 05 Aout 2006                                              */
/*                                                                            */
/******************************************************************************/


define('GOOGLE_MAGIC'0xE6359A60);

// Use this class if your server is having problems with bitwise operations
class PagerankSeo extends PageRank {
  function xor32($a$b) {
    return $this->int32($a) ^ $this->int32($b);
  }
  //return least significant 32 bits
  //works by telling unserialize to create an integer even though
  //we provide a double value
  function int32($x) {
    return unserialize("i:$x;");
    //return intval($x); // This line doesn't work on all servers.
  }
  
  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);
  }
}  

//This class should work on most servers
class 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 mix($a,$b,$c) {
    $a -= $b$a -= $c$a ^= ($this->zeroFill($c,13));
    $b -= $c$b -= $a$b ^= ($a<<8);
    $c -= $a$c -= $b$c ^= ($this->zeroFill($b,13));
    $a -= $b$a -= $c$a ^= ($this->zeroFill($c,12));
    $b -= $c$b -= $a$b ^= ($a<<16);
    $c -= $a$c -= $b$c ^= ($this->zeroFill($b,5));
    $a -= $b$a -= $c$a ^= ($this->zeroFill($c,3));
    $b -= $c$b -= $a$b ^= ($a<<10);
    $c -= $a$c -= $b$c ^= ($this->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 = ;
    $len $length;
    while($len >= 12) {
      $a += ($url[$k+] +($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[]; $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 $c+=($url[$k+8]<<8);
      /* the first byte of c is reserved for the length */
      case $b+=($url[$k+7]<<24);
      case $b+=($url[$k+6]<<16);
      case $b+=($url[$k+5]<<8);
      case $b+=($url[$k+4]);
      case $a+=($url[$k+3]<<24);
      case $a+=($url[$k+2]<<16);
      case $a+=($url[$k+1]<<8);
      case $a+=($url[$k+]);
    }
    $mix $this->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=;$i<strlen($string);$i++) {
      $result[$i] = ord($string{$i});
    }
    return $result;
    }

  //returns -1 if no page rank was found
  function getRank($url){
    $ch "6".$this->GoogleCH($this->strord("info:" $url));
    
    $pagerank=-1;
    $fp fsockopen("www.google.com"80$errno$errstr30);
    if (!$fp) {
      echo "$errstr ($errno)<br />\n";
    } else {
      $out "GET /search?client=navclient-auto&ch=" $ch .  
"&features=Rank&q=info:" $url " HTTP/1.1\r\n" ;
      $out .= "Host: www.google.com\r\n" ;
      $out .= "Connection: Close\r\n\r\n" ;
      fwrite($fp$out);
      while (!feof($fp)) {
        $data fgets($fp128);
        $pos strpos($data"Rank_");
        if($pos === false){
        }else{
        $pagerank trim(substr($data$pos 9));
        }
      }
      fclose($fp);
    }
    return $pagerank;
  }
} 


  $seoPR=new PagerankSeo();
  // Affiche le PageRank
  $pr $seoPR->getRank('http://www.phpsources.org');
  echo $pr;
?>


 

Fonctions du code

: Définit une constante - (PHP 4, PHP 5)
: Crée une variable PHP à partir d'une valeur linéarisée - (PHP 4, PHP 5)
: Crée un tableau - (PHP 4, PHP 5)
: Convertit de hexadécimal en décimal - (PHP 4, PHP 5)
: Indique si une variable vaut NULL - (PHP 4 >= 4.0.4, PHP 5)
: Alias de count() - (PHP 4, PHP 5)
: Calcule la taille d'une chaîne - (PHP 4, PHP 5)
: Retourne le code ASCII d'un caractère - (PHP 4, PHP 5)
: Ouvre une socket de connexion Internet ou Unix - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Écrit un fichier en mode binaire - (PHP 4, PHP 5)
: Teste la fin du fichier - (PHP 4, PHP 5)
: Récupère la ligne courante sur laquelle se trouve le pointeur du fichier - (PHP 4,...
: Trouve la position d'un caractère dans une chaîne - (PHP 4, PHP 5)
: Retourne un segment de chaîne - (PHP 4, PHP 5)
: - (PHP 4, PHP 5)
: Ferme un fichier - (PHP 4, PHP 5)
Commentaires
Ce script ne fonctionne plus :-/
 
ouai... Google nous fait une petite crise !! passagère ?? a voir... Mais depuis 15 jours, impossible de faire tourner ce code et ce quelque soit le data serveur interrogé. Des que j'ai du nouveau, je up ;)
 
Et voilà, la nouvelle fonction GPU offert par Google. Celle ci fonctione tres bien sur tous les serveurs et en particulier chez OVH. La technique est differente, l'ancienne etait une bufferisation, la nouvelle technique est imparable, elle envoie auusi la requete mais : > ecriture fichier > lecture fichier > impression du contenu du fichier (le page rank)

Elle est pas belle la vie !?
 
Super !
Merci beaucoup ;-)
 
Ce script ne fonctionne plus chez OVH, une fois de plus :(
 
Oui, il ne fonctionne plus depuis quelques mois car les webmasters en ont trop abusé.. Mais d'après ce qui j'ai compris, il fonctionne toujours chez 1&1
 
personne n'a du nouveau chez OVH ?? car le code fonctionne chez d'autres hébergeurs
ca craint OVH de ce coté !!
Du nouveau -> UP PLS
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Google

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité