FAQ Référencement

Google Suggest – Script php (Nouvelle version)

Ecrit par admin le Mercredi 27 janvier 2010 à 14:25 - Catégorie Google, Scripts PHP

Il y a quelques jours, nous vous présentions un outil nommé Google Suggest php script permettant d’extraire les suggestions proposées par Google à partir d’un mot-clé, les résultats ainsi obtenus étaient à nouveau extraits et ainsi de suite selon le niveau de profondeur défini par l’utilisateur du script (jusqu’à 5 niveaux).

Et bien, aujourd’hui nous vous proposons en plus les options suivantes :

  • Gestion de listes de mots
  • Intégration de mots mixés
  • Test de mots + lettres de l’alphabet
  • Récupération du nombre de résultats

Voici le script php google suggest nouvelle version :

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
<?php
//Script Google Suggest by http://www.seoblackout.com
// Auteurs du script : Beunwa http://divioseo.fr/ & Tiger http://www.seoblackout.com
// Contributeurs émérites : Seg http://www.wagablog.com/ & Meuhsli http://www.thugeek.com/
// Url article du script pour bugs, commentaires... : http://www.seoblackout.com/2010/01/27/google-suggest/
?>
<form  action="" method="post">
	<table><tr><td>
		Keyword : <textarea name="kw" rows="10"><?=strip_tags($_POST['kw'])?></textarea>
	</td><td>
		et <textarea name="mix2" rows="10"><?=strip_tags($_POST['mix2'])?></textarea>
	</td><td>
		<br />
		Langue : 
		<select name="lang">
			<option value="fr">FR</option>
			<option value="en">EN</option>
		</select>
		<br />
		Profondeur : 
		<select name="depth">
			<option value="1">1</option>
			<option value="2">2</option>
			<option value="3">3</option>
			<option value="4">4</option>
			<option value="5">5</option>
		</select>  
		<br />
		Alphabet :<input type="checkbox" name="alph" />
	</td></tr></table>
	<br />
	<input type="submit" value="Go" />
</form>
<?php
if(isset($_POST['kw'])){
	$lang = strip_tags($_POST["lang"]);
	if($lang == '') $lang = "fr"; 
	$depth = strip_tags($_POST["depth"]);
	if($depth == '') $depth = "1";
 
	$kwsd = array();
	$kwsd=explode("\n",trim(strip_tags($_POST["kw"])));
	foreach ($kwsd as $lst) {
		if($lst != "\n"){
			//mots cles simple
			ggSuggest($lst, $lang, $depth);
 
			//mots cles avec compléments
			$kws2 = array();
			$kws2=explode("\n",strip_tags($_POST["mix2"]));
			foreach ($kws2 as $mix2) {
				ggSuggest($lst.$mix2, $lang, $depth);
			}
 
			//alphabet
			if(strip_tags($_POST["alph"]) == "on"){
				$alpha = "a";
				while($alpha != "z"){
					ggSuggest($lst.' '.$alpha, $lang, $depth);
					$alpha = ++$alpha;
				}
			}
		}
	}
 
}
 
function ggSuggest($kw, $lang, $depth = 1, $inc = 1){	
	global $tabKw;
 
	$tabKw[] = $kw;	
    $url = 'http://www.google.com/complete/search?hl='.$lang.'&js=true&qu='. urlencode($kw);
	if (function_exists('curl_init')) {
	$header = array(
        "Accept: text/xml,application/xml,application/xhtml+xml,
		text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
        "Accept-Language: fr-fr,fr;q=0.7,en-us;q=0.5,en;q=0.3",
        "Accept-Charset: utf-8;q=0.7,*;q=0.7",
        "Keep-Alive: 300");
		$ch = curl_init();
	    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
	    curl_setopt($ch, CURLOPT_HEADER, false);
	    curl_setopt($ch, CURLOPT_VERBOSE, true);	
	    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
	    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
	    curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com/');
	    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)' );
	    curl_setopt($ch, CURLOPT_HTTPHEADER, $header );
	 	curl_setopt($ch, CURLOPT_URL, $url);
		$result=curl_exec ($ch);
		curl_close ($ch);
	} else {
		$result= file_get_contents($url);
	}
	preg_match_all('/\["(.*?)",/si', $result, $kwgoogle, PREG_SET_ORDER);//mot
	preg_match_all('/\,"(.*?)résultats",/si', $result, $nbresult, PREG_SET_ORDER);//nb resultats
 
	if ($kwgoogle=='' || $inc > $depth) {
		return $tabKw;
	}else {
		$ii = 0;
		foreach($kwgoogle as $v){	
			$tk = utf8_decode(strip_tags($v[1]));
			if(!in_array($tk, $tabKw)){ 
				$tk = str_replace ('\r',"", $tk);
				$kwr = utf8_decode($nbresult[$ii][1]);
				if($kwr == "") $kwr = 0;
				echo $kwr.' ; '.$tk.'<br />';
				$ii++;
				flush();
				ggSuggest($tk, $lang, $depth, $inc+1); 
			}
		}
	}
	return $tabKw;
}
?>

Un grand merci à  Seg (Wagablog – Google Analytics) et Meuhsli (Blog Geek) de l’agence référencement Résoneo, qui nous proposent ici une contribution majeure. 

Merci encore une fois à Beunwa (Référencement Dijon), pour avoir contribué au développement du script Google Suggest. 

Merci à eux 3 pour avoir accepté de partager publiquement et gratuitement avec vous ces améliorations !

Le web est un lieu de partage, keep this spirit !

A lire à propos de Google Suggest chez copains :

  • Scoopeo
  • Digg
  • Technorati
  • del.icio.us
  • blogmarks
  • BlogMemes Fr
  • StumbleUpon
  • Twitter
  • Wikio FR
  • Yahoo! Bookmarks
  • Facebook
  • FriendFeed
  • LinkedIn
  • Live
  • Netvibes
  • Wikio
Articles liés :

Commentaires (19)

Catégorie: Google, Scripts PHP


19 Commentaires

Commentaire par casiseb (2 commentaires)

Mercredi, 27 janvier , 2010 à 15:12

ah merci je sauvegarde sa dans ma base de script ;)

Commentaire par Seg (2 commentaires)

Mercredi, 27 janvier , 2010 à 15:24

Merci pour la citation Paul !

Je suggère aux utilisateurs de tester les expressions commençant par Combien, Qui, Quel, etc. avec les lettres de A à Z derrière. Trop bon ! :)

Commentaire par Patrenet (7 commentaires)

Mercredi, 27 janvier , 2010 à 15:34

Excellent, tout simplement excellent !
Bravo ! ;)

Commentaire par Patrenet (7 commentaires)

Mercredi, 27 janvier , 2010 à 15:58

@Seg : Je retiendrais celui là : « 9 020 000 ; combien a t on de cheveux sur la tete » :p

Commentaire par Matthieu (4 commentaires)

Mercredi, 27 janvier , 2010 à 16:08

Super amélioration !
Quelle est la prochaine amélioration du script? Ca va trouver la position de notre site sur les requêtes suggérées ? ;)

Commentaire par La Fabrik (2 commentaires)

Mercredi, 27 janvier , 2010 à 16:54

Humm les bonnes listes !! Merci encore à vous 4 et bravo.

Commentaire par alex de @referencement (2 commentaires)

Mercredi, 27 janvier , 2010 à 17:00

Pour test, ton script est à jour à cette URL http://referencement-blog.net/google-suggest.php :)

Bon boulot à tous!

Commentaire par ^fabrice^^ (1 commentaire)

Mercredi, 27 janvier , 2010 à 17:24

pour éviter les notices PHP 5Notice: Undefined index: alph in (…) on line 56°

remplacer : 
<?=strip_tags($_POST['kw'])?>
par <?php echo strip_tags($_POST['mix2'])?>
et idéalement par <?php if (isset($_POST['kw'])){ echo strip_tags($_POST['kw']); }?>


et aussi :
//alphabet
if(strip_tags($_POST["alph"]) == "on"){
			
par 
//alphabet
if(isset($_POST["alph"]) AND strip_tags($_POST["alph"]) == "on"){

Commentaire par admin

Mercredi, 27 janvier , 2010 à 17:30

Merci à tous :)

@fabrice : merci je mettrai à jour le script dans la soirée ;)

Commentaire par casiseb (2 commentaires)

Mercredi, 27 janvier , 2010 à 20:08

Oh je viens de tester la bête c’est excellent ! merci pour ce travail nikel !

Commentaire par François (1 commentaire)

Mercredi, 27 janvier , 2010 à 23:42

Hey ! mais c’est du super taf ça, merci.

Commentaire par Seg (2 commentaires)

Jeudi, 28 janvier , 2010 à 11:07

@Patrenet : ouaip, il y a des perles…
« combien faut il de nains pour creuser un tunnel de 28 m en 3 jours dans du granit »

Commentaire par MarieC

Jeudi, 28 janvier , 2010 à 12:15

Bonjour,
C’est moi où y’a un petit souci d’encodage. Voici un extrait d’une recherche sur le terme référencement (tous les accents et points sont remplacés par des caractères avec des ?)
15�600�000 ; r�f�rencement
Une idée de ce qu’il faut modifier ?

Commentaire par Serial Blogueur (4 commentaires)

Jeudi, 28 janvier , 2010 à 14:55

Ouh là là, en 5 minutes, couplé avec un checker de NDD Dispo, je deviens le Roi de la recherche de NDD classes :)

Commentaire par Olivier (10 commentaires)

Mardi, 2 février , 2010 à 14:04

Paul,
En lieu et place des expressions régulières, tu peux directement utiliser la fonction json_decode() ;-) Cette fonction est d’ailleurs très utile pour pas mal de choses de chez Google…

Commentaire par gino

Jeudi, 11 février , 2010 à 12:00

Bonjour à L’equipe

Je viens me pourvoir en ridicule. J’ai telechargé les 2 scripts google suggest via mon ftp à la racine de mon site. Deja la je pense que c’est pas bon.
Sinon comment je dois faire ensuite pour pouvoir utiliser ces scripts (les appeler)qui paraissent très prometteur.
Merci à vous pour le travail et le service accomplie

Commentaire par admin

Jeudi, 11 février , 2010 à 12:54

Tu prends le script proposé ci-dessus, tu le mets dans un fichier que tu nommes google-suggest.php par exemple.
Tu le up sur ton ftp soit à la racine soit ailleurs et ensuite tu appelles le script comme ça (si à la racine) -http://ton_site_web.com/google-suggest.php

Commentaire par admin

Jeudi, 11 février , 2010 à 12:57

@Olivier : oui je sais mais là le script est compatible php4 ;)

Commentaire par gino

Jeudi, 11 février , 2010 à 13:06

Ok merci pour ta réponse rapide
Voila un digg de gagné

Laisser un commentaire

XHTML: Vous pouvez utiliser les tags suivants: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">



SEO BLACKOUT

Site web dédié aux techniques de référencement et de positionnement de sites web sur les moteurs de recherche Google, Yahoo, MSN.
Certaines parties du site sont en accès restreint, ces espaces sont réservés à la SEO Black Hat Team.


Don't Be Evil !