GOOGLE® PAGERANK® & CHECKSUM ALGORITHM

iow4 Messages postés 302 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 2 novembre 2008 - 9 déc. 2006 à 17:52
cs_ynizon Messages postés 53 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 19 avril 2012 - 19 avril 2012 à 09:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40649-google-pagerank-checksum-algorithm

cs_ynizon Messages postés 53 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 19 avril 2012 1
19 avril 2012 à 09:19
Pour le faire fonctionner à nouveau, il faut remplacer la derniere fonction par ca:

function PageRank($url, $dcgg = 'toolbarqueries.google.com')
{
$file = file('http://'.$dcgg.'/tbr?client=navclient-auto&ch='.$this->CheckHash($this->HashURL($url)).'&ie=UTF-8&oe=UTF-8&features=Rank&q=info:'.urlencode($url));
$file = implode("", $file);
return substr($file,strrpos($file, ":")+1);
}
cs_rottweiler Messages postés 117 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 octobre 2013
3 juin 2011 à 18:46
excellent code, bien utile !
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024
23 déc. 2008 à 11:47
pour une liste des ip des datas centers:
http://www.unesourisetmoi.info/referencer/articles.php?pg=art242
et il y en a encore ...
mais il ne sont pas aussi réactifs ou performants ...
voir le test :
http://www.unesourisetmoi.info/pages/multiple_PR_datas_centers.php
si question ou problèmes contact via le site (avec grand plaisir!)
@+ b g
publespace Messages postés 31 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 15 mars 2016
25 août 2008 à 18:08
SUPER

MERCI POUR CE BOUT DE CODE, FONCTIONNE IMPECABLE
jo_949 Messages postés 1 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 20 juin 2008
20 juin 2008 à 16:44
Bjr,

Je suis chez ovh et voici l'erreur que j'ai :

Warning: file(http://www.google.com/search?client=navclient-auto&ch=733799013611&ie=UTF-8&oe=UTF-8&features=Rank&q=info:http%3A%2F%2Fwww.generatix.fr%2F) [function.file]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /home.2/mogwaite/www/referencement/meta/pagerank.php on line 102

Warning: implode() [function.implode]: Bad arguments. in /home.2/mogwaite/www/referencement/meta/pagerank.php on line 103
yazerty55 Messages postés 13 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 17 septembre 2007
9 sept. 2007 à 19:32
Merci pour ta réponse très rapide :) !

En fait je viens de découvrir ton script (avant-hier) et je n'utilisais pas de script pour avoir le PR / Backlinks avant.

Si l'ancien script est celui proposé par iow4 le 09/12/2006 17:52:09 alors il ne marche pas chez moi (mutualisé 1&1) :(. Tant pis, le PR c'est déjà très bien. Et les BL renvoyés par Google ne sont pas complet de toute façon (il ne les donne pas tous - ce quui ne veut pas dire qu'il ne les considère pas tous !).
FloBaoti Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 27 mai 2014
9 sept. 2007 à 19:23
Je n'ai pas trouvé comment avoir les backlinks avec cette mise à jour. Si le code précédent fonctionnait sur vos serveurs, gardez-le.
yazerty55 Messages postés 13 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 17 septembre 2007
9 sept. 2007 à 19:19
Merci pour la mise à jour ! Plus moyen d'avoir les backlinks par contre maintenant :-?
FloBaoti Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 27 mai 2014
25 août 2007 à 14:52
Voilà une grosse mise à jour du code, qui fonctionne sur quasiment tous les serveurs.

N'hésitez pas à laisser vos feedbacks!
mitus77 Messages postés 1 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 20 avril 2007
20 avril 2007 à 16:58
Bonjour,

Je confirme les dire de vbguigui en fonction de la configuration du serveur on obtiens pas les même checksum.

Lorsque j'effectue un test en local sur ma machine de dev avec XAMPP comme solution lamp tout fonctionne de manière impécable par contre dés que je passe en production sur mes serveurs a chaque fois j'obtiens un checksum erroné mais qui reste le même mais en erreur.

Par ailleur moi j'utilisais un autre scripts de calcul qui présentais les même problèmes J'ai pu localisé a peu préts à partir de qu'elle moment ça pose problème.

Le problème se situe au niveau de l'opérateur XOR pour la translation du binaire. Et de plus le problème apparait des que le nombre décimal a calculé est relativement élevé par contre si il est petit ca marche bien sur tous les serveurs
FloBaoti Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 27 mai 2014
7 mars 2007 à 21:31
vbguigui: tu calcules bien le checksum de la même page ? (un seul caractère différent peut tout changer)
Et le PageRank s'affiche-t-il dans les 2 cas ?
vbguigui Messages postés 77 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 7 mars 2007
7 mars 2007 à 21:00
J'ai découvert un truc... J'ai un serveur PHP sur lequel ca fonctionne, et voici le checksum: 6-1884983888

J'ai placé le même script sur un autre serveur (PHP5, lui) et la ca me fait: 6-1000188052

Le checksum n'est pas le même donc il y a un probleme au niveau du calcul du Checksum... quelqu'un peut aider ?
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
15 janv. 2007 à 20:39
.... deja fait merci

// include le code
$Google = new GooglePR();
$PageRank = $Google->PageRank('www.free.fr');
$BackLinks = $Google->BackLinks('www.free.fr');

// Sur serveur GG 64.233.167.107:
$PageRank = $Google->PageRank('www.generatix.fr');
echo $PageRank;
FloBaoti Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 27 mai 2014
15 janv. 2007 à 20:31
Ba faut instancier la classe avant !

$Google = new GooglePR();
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
15 janv. 2007 à 20:27
Aucune erreur mais la page reste blanche en faisant un :
// Sur serveur GG 64.233.167.107:
$PageRank = $Google->PageRank('www.generatix.fr', '64.233.167.107');
echo $PageRank;
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
15 janv. 2007 à 20:22
"ça marche pas" ne veut rien dire... tu as des messages d'erreur ?

met

error_reporting(E_ALL);

dans le script et dis nous si tu as des messages d'erreur... .. .

@ tchaOo°
FloBaoti Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 27 mai 2014
15 janv. 2007 à 20:20
Ca marche toujours chez moi, tu as bien la fonction file() activée ?
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
15 janv. 2007 à 20:11
elle ne fonctionne pas chez moi
FloBaoti Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 27 mai 2014
15 janv. 2007 à 20:02
Ben celle postée fonctionne avec PHP5!
J'avais rajouté des attributs public/private/protected sur les fonctions, c'est pas essentiel.
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
15 janv. 2007 à 19:45
POurrais tu rajouter ta version PHP5 stp ?
FloBaoti Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 27 mai 2014
15 janv. 2007 à 18:33
Ce que certains m'ont fait enlevé, plus certainement des choses que je ne sais pas ...
foliop Messages postés 191 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 27 octobre 2008
15 janv. 2007 à 18:25
Il faudrait rajouter quoi ?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 déc. 2006 à 09:31
1 point pour toi!
FloBaoti Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 27 mai 2014
13 déc. 2006 à 09:18
On va partir de l'hypothèse que les personnes qui utilisent un serveur PHP5 configuré de manière stricte savent ce qu'il faut rajouter ;-)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 déc. 2006 à 09:13
N'empêche, maintenant, ton appli ne fonctionne plus sur un serveur php5 configuré de manière stricte ;-)
FloBaoti Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 27 mai 2014
13 déc. 2006 à 08:46
$url c'est l'url dont tu souhaite connaitre le PageRank ou le nombre de BL (sans les http://, ce n'est pas nécessaire.)
imaneflash Messages postés 84 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 28 décembre 2006
12 déc. 2006 à 19:05
merci pour la doc, mais $url ça réfère à quoi
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
11 déc. 2006 à 17:35
"Et vive le PHP facile car il va le redevenir pour se mettre à la portée d'un public plus large. Voir la beta de PHP6"

LOoOl... on a pas du voir les même compte rendu des conférence des dev de php... php 6 ne sera pas plus facile il sera moins permissif ce qui est très différent et aurait plutot tendance à aller dans le sens contraire... y en a qui vont pleurer avec leur vieille habitudes... .. .

@ tchaOo°
FloBaoti Messages postés 15 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 27 mai 2014
11 déc. 2006 à 10:06
Hey les gars faudra se calmer un peu là. Google est selon moi assez grand pour voir ce qui est du spam et ce qui n'en est pas. S'ils ne voulaient plus proposer cette méthode, ça fait un moment qu'ils auraient supprimé la fonctionnalité. De plus, si vous avez une meilleure solution pour faire ça, qu'est-ce qui vous empêche de la publier ici même ? Ce code est le seul proposant de faire ça.
Puisque certains ne connaissent pas PHP5, j'enlève les "private" et machins pour que ça passe en PHP4 ...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 déc. 2006 à 09:26
Hello,

si je suis entièrement d'accord avec LaurentKoogar concernant Google et la façon de procéder, je ne le suis pas concernant PHP5. Dis-moi plutôt combien de serveurs n'acceptent pas PHP5 aujourd'hui : très peu...et ce que tu sembles appeler "simplification", je l'appelle plutôt "structuration"; PHP5 propose un code bien plus propre, clair, et puissant que ne le propose PHP4.
Et PHP6 ne va rien changer à ceci, je ne vois pas de quoi tu parles concernant la beta de PHP6 : elle n'enlève rien à la POO PHP5, puisqu'il s'agit ici d'un code orienté objet.
Les classes permettent de bien mieux strucurer une application web. Alors quand on a 1 site personnel, ok, on peut s'en passer. Mais PHP ne se limite plus aux sites personnels...il permet de développer des applications web complexes qui ne peuvent pas se passer d'un modèle parfaitement structuré et orienté objet. Et dans ce cadre, proposer des classes plutôt que des codes fonctionnels nettement plus difficiles à placer dans une application structurée...je trouve ça très bien.
LaurentKOogar Messages postés 369 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 20 octobre 2013
11 déc. 2006 à 07:36
>> Tu veux parler des APIs Google ?

Non, c'est plus "chi..." que ca, je ne sais pas si c'est Google qui a demandé, mais déjà chez certain hébergeur comme OVH, tu ne peut plus passer ce genre de requete. De mon coté pour ne pas spammer, je prend toujours les dernieres IP de leur serveurs meme si l'alignement des datas n'est pas toujours à jour. ces serveurs ne sont pas du tout emcombré et il est conseillé de travailler avec pour ce genre de processus. Je descend avec 1 CRON les données en local, j'actualise avec GG en local uniquement pour cette fois ci ne pas mettre dans la "merd.." les hebergeurs et pour terminer j'ai 1 CRON pour remonter les mises à jour sur mes sites.
iow4 Messages postés 302 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 2 novembre 2008 4
11 déc. 2006 à 06:46
>>>> 2° Google a mis des flux XML sur des serveurs spéciaux aux services des webmasters.... pour éviter ces requêtes


Tu veux parler des APIs Google ?

>>>> 3° Combien y-til de serveur avec PHP5 en production en France => trés peu encore!!!

C'est vrai c'est pour ça que j'ai proposé la convertion en PHP 4 qu'il serait bien de publier
LaurentKOogar Messages postés 369 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 20 octobre 2013
11 déc. 2006 à 06:01
1° ca s'apel du spam indirect
2° Google a mis des flux XML sur des serveurs spéciaux aux services des webmasters.... pour éviter ces requêtes.
3° Combien y-til de serveur avec PHP5 en production en France => trés peu encore!!! c'est une maladie les classes chez vous ??? faite du Ruby dans ce cas ! Et vive le PHP facile car il va le redevenir pour se mettre à la portée d'un public plus large. Voir la beta de PHP6;)

Nix, soit kool ne supp pas mon mess
Rejoignez-nous