Bonjour @ tous,
je souhaiterai afficher le page rank que génère google.
Savez-vous comment procéder ?
puis faire ca en php ou suis obligé de faire appel a des boites externes qui proposent ce service ?
Merci
Bonjour @ tous,
je souhaiterai afficher le page rank que génère google.
Savez-vous comment procéder ?
puis faire ca en php ou suis obligé de faire appel a des boites externes qui proposent ce service ?
Merci
question toute betec'est quoi la page rank de google?
un ptit lien pour je m'informe et dise pas de betises par la suite.
salut,
moi personellement, j'utiliserais le webservice soap de google.
Ils fournissent les api pour l'utiliser dans ton langage preferé sur le site :
http://www.google.com/apis/
Tiens d'ailleurs si tu fais cela, tu pourras donner un petit retour dans ce thread stp ?
tout simplement la place à laquelle arrive une page dans le resultat d'une recherche pour un mot clé donné.Envoyé par zulot
exemple : mon site arrive en premiere place sur google pour la recherche "herve saladin"![]()
Hervé si tu veux un exemple de code PHP utilisant le WebService de Google je peux le mettre, par contre j'ai pas souvenir d'une fonction permettant de récupérer son pageRank.Envoyé par Hervé Saladin
oui, je veux bien, ça m'interesse bigrementEnvoyé par JWhite
bah, à partir de la reponse xml, ca doit pas etre bien dur de le calculer non ?Envoyé par JWhite
Je suis au boulot donc j'ai pas ça sous la main, je mettrais ça ce soir. Mais c'est vraiment pas compliqué à utiliser, il suffit de s'inscrire pour avoir une clé (c'est gratuit) et à bidouiller un peu.
Et pour le PageRank vu comme ça ça doit être faisable en effet...
merci beaucoup pour les infos, je vais regarder ca de suite...
Hervé voici un code d'une page simple qui permet d'effectuer une recherche sur un site particulier. Après il faut bidouiller la requête Google pour faire ce qu'on veut (limite à un site, à des langues, ...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
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 <html> <body> <?php if (!isset($_GET['recherche']) || $_GET['recherche']=="") { echo "<form method='get' action='http://localhost/Services/GOOGLE/googlesearch.php'>"; echo "Entrez vos mots-clés:<br> "; echo "<input type='text' name='recherche'>"; echo "<input type='submit' name='Submit' value='Envoyer'>"; echo "</form>"; } else { $recherche = $_GET['recherche']; echo "<form method='get' action='http://localhost/Services/GOOGLE/googlesearch.php'>"; echo "Entrez vos mots-clés:<br>"; echo "<input type='text' name='recherche' value='" . $recherche . "'>"; echo "<input type='submit' name='Submit' value='Envoyer'>"; echo "</form>"; include("nusoap.php"); $soapclient = new soapclient("http://api.google.com/search/beta2"); $params = array( 'key' => 'KEY', 'q' => $recherche . " site:univ-lemans.fr", 'start' => 0, 'maxResults' => 10, 'filter' => true, 'restrict' => '', 'safeSearch' => true, 'lr' => 'lang_fr', 'ie' => '', 'oe' => '' ); $result = $soapclient->call("doGoogleSearch", $params, "urn:GoogleSearch", "urn:GoogleSearch"); if ($result['estimatedTotalResultsCount'] == 0) { echo "Votre recherche n'a pas donné de résultat."; } else { echo "<hr>"; echo "Votre recherche sur <b>" . utf8_decode($result['searchQuery']); echo "</b> a renvoyé environ " . $result['estimatedTotalResultsCount']; echo " résultats.<br><br>"; if (is_array($result['resultElements'])) { echo "<table width=80% border=1>"; echo "<tr><td width=25% align=center><b><i>Lien<td width=65% align=center><b><i>Extrait<td width=10% align=center><b><i>Taille"; foreach ($result['resultElements'] as $r) { echo "<tr><td align=center><a href=" . $r['URL'] . ">" . $r['title'] . "</a>"; echo "<td>"; if($r['snippet'] != '') echo $r['snippet']; else echo " "; echo "<td align=center>"; if($r['cachedSize'] != '') echo $r['cachedSize']; else echo " "; } echo "</table>"; } } } ?> </body> </html>
J'oubliais pour que ça marche il faut télécharger la bibliothèque NuSOAP ici : http://dietrich.ganx4.com/nusoap/.
Heu... je n'avais pas cette définition... pour moi le PageRank est un chiffre de 0 (ou 1 ?) a 10 défini par des regles internes (non publiées) de google et qui determine, pour chaque site, sa pertinence par rapport a une recherche.Envoyé par Hervé Saladin
C'est a dire que si on fait une recherche, et que google nous retourne un site avec un PageRank de 10 (la note maximale), il est fort probable que l'information cherchée apparaisse sur ce site. A l'inverse, un site avec un PR de 0 ne contient presque jamais l'information voulue.
Il n'y a que quelques sites qui ont un PR de 10, des sites du genre celui de la NASA, du CNRS, des gouvernements, etc... En effet, l'information etant ciblée sur ces sites, et le nombre d'infos en général consequent, si il apparait dans une recherche c'est pratiquement toujours pertinent.
Maintenant, si tu fait un site sur un sujet extremement précis, bien documenté, que tu est le seul a en parler et que ton site arrive a n'etre indexé QUE sur des mots parlant de ce sujet, je dirais que tu as de grandes chances d'avoir un PR de 9 (a mon avis les PR de 10 sont élus manuellement par google, mais je peux me tromper ;o)
Oulalala, j'ai commencé a potassé, ca ne parrait pas aussi facile que cela de récupérer ce PR...
Je continue dan sma foulée et vous tiens au courant. Mais si quelqu'un a une idée... n'hésitez pas.
J'ai peur que les définitions précédentes du PR ne soient pas tout à fait exactes.
Le PageRank est un indice propre à Google (repris par d'autres) pour estimer la popularité d'une page à partir du nombre et de la qualité des liens vers cette page.
Une page tres bien faite, sans liens "entrants" aura un PR de 0.
Une page tres mal faite, avec beaucoup de liens entrants aura un PR de x.
En general,
site perso : 0-4
site e commerce bien référéncé : 3-6
site de reference sur un sujet internet : 5-8
les gros du web (adobe, macromedia, google, etc.) : 9-10
Pour calculer le PR d'un site en php, il faut d'abord recupérer le checksum du site => Google est ton ami.
Par exemple :
http://www.malaiac.net/outils/pagera...developpez.com
parlant du checksum google...
on trouve une floppé de site du genre "donnez l'url je vous donne le checksum" mais jamais "voici comment on le calcul"
Voici donc comment calculer le checksum et comment calculer le PR;
note: l'algo du checksum à déjà plusieur fois changé.. ce script fonctionne à ll'heure actuelle mais peutre plus dans 6 mois..
Note: l'url de la page doit contenir http:// et ça se pace ici: $url = 'info:'.$_GET['url'];
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
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 <?php header("Content-Type: text/plain; charset=utf-8"); 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; } 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 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) /* all the case statements fall through */ { case 11: $c+=($url[$k+10]<<24); case 10: $c+=($url[$k+9]<<16); case 9 : $c+=($url[$k+8]<<8); /* the first byte of c is reserved for the length */ 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: 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; } // converts an array of 32 bit integers into an array with 8 bit values. Equivalent to (BYTE *)arr32 function c32to8bit($arr32) { for($i=0;$i<count($arr32);$i++) { for ($bitOrder=$i*4;$bitOrder<=$i*4+3;$bitOrder++) { $arr8[$bitOrder]=$arr32[$i]&255; $arr32[$i]=zeroFill($arr32[$i], 8); } } return $arr8; } if ($_GET['url']=="") die("pas d'url"); $url = 'info:'.$_GET['url']; $ch = GoogleCH(strord($url)); $ch = sprintf("%u", $ch); $ch = ((($ch/7) << 2) | (((int)fmod($ch,13))&7)); $prbuf = array(); $prbuf[0] = $ch; for($i = 1; $i < 20; $i++) { $prbuf[$i] = $prbuf[$i-1]-9; } $ch = GoogleCH(c32to8bit($prbuf), 80); $ch = sprintf("6%u", $ch); $temp = file("http://www.google.com/search?client=navclient-auto&ch=$ch&feature=Rank&q=$url"); $temp = implode("",$temp); $pageRank=explode("</RK>",$temp); $pageRank=$pageRank[0]; $pageRank=explode("<RK>",$pageRank); $pageRank=$pageRank[1]; echo $pageRank; ?>
Partager