Vous êtes ici Articles > Utilisation de l'API de recherche Google

 

Utilisation de l'API de recherche Google

Du coté PHP
 
KOogar
Vu 3884 fois
Enregistré le 30 Jan 2009
  • Digg cet article sur digg.com
  • Bookmark cet article sur del.icio.us
  • Bookmark cet article sur Google
  • Bookmark cet article sur Yahoo
  • Ajoute Utilisation de l'API de recherche Google
  • Partage cet article sur Facebook
 
 
 
 

Utilisation de l'API de recherche Google


Beaucoup de développeurs utilisent des services de tiers pour obtenir des données SEO sur leur site. Beaucoup de ces développeurs ne se rendent pas compte à quel point il est simple de construire des outils pour obtenir les statistiques des grands moteurs de recherche. Dans cet article, je projette de vous donner une introduction de base sur la façon de procéder pour obtenir quelques statistiques pour moteur de recherche à l'aide de l’API de Google.

Deux choses à noter pour utiliser l'API; vous devez avoir PHP 5 et cURL (libcurl).

Auparavant Google utilisait l’application de recherche SOAP API qui est de bonne qualité et facile d’utilisation, mais son emploi a cessé. Google propose d’utiliser AJAX API, mais pour la plupart des développeurs, cela semble excessif et, de plus, dans la plupart des pages de Google, il est presque impossible de trouver les informations nécessaires pour une simple mise en cache côté serveur. Mais enfin, en creusant un peu on arrive à trouver des codes simples

Ainsi, le code montré en exemple par Google est très simple :
.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
 
<?php
$url "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=php";
$ch curl_init();   
curl_setopt($chCURLOPT_URL$url);   
curl_setopt($chCURLOPT_RETURNTRANSFER1);   
curl_setopt($chCURLOPT_REFERER"http://www.phpsources.org/page_referer.php");
$body curl_exec($ch);   
curl_close($ch);   
var_dump(json_decode($body));
?>

La classe de référence de Google peut être vue ici.
C'est très bien si vous voulez obtenir les résultats pour "php" et ne voulez pas les afficher. Essayons de faire un peu mieux, si vous le voulez bien.
Tout d'abord, nous allons écrire un simple formulaire:

.01
.02
.03
.04
.05
 
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method=post>
<input name=search>
<input type=submit value="Soumettre la requête">
</form>
Maintenant que nous avons le code API de Google et un formulaire très simple, nous avons besoin d’obtenir les données de recherche pour formulaire et de les ajouter à l'URL de recherche de Google:

.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
.13
.14
 
<?php
    if ($_POST['search']) {
    $url "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q="  urlencode($_POST['search']);
    $ch curl_init();   
    curl_setopt($chCURLOPT_URL$url);   
    curl_setopt($chCURLOPT_RETURNTRANSFER1);   
    curl_setopt($chCURLOPT_REFERER"http://www.phpsources.org/page_referer.php");
    $body curl_exec($ch);   
    curl_close($ch);   
    $json json_decode($body);
    // var_dump(json_decode($body));

}   ?>

Si nous utilisons var_dump nous obtenons une énorme sortie d’objet à l'écran. L'objet contient un grand nombre de données utiles;
print ($json-> responseData-> curseur> estimatedResultCount) // Indique le nombre de pages dans l'index Google qui correspondent à notre recherche
print ($json-> responseData-> results); // Indique les résultats de la recherche


C'est tout ! Vous voyez, c’est très facile d’utiliser l'API de Google.

Commentaires
on peut ajouter la langue avec le paramètre hl : [code]$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=php&hl=fr";[/code]
 
Vraiment sympa :P C'est vrai que c'est plus que simple vu comme ça !!! Par contre juste une précision : tout le monde n'a pas la librairie Json sur son serveur pour pouvoir utiliser json_decode .:) Par contre la librairie CURL est devenue presque incontournable
 
xxxxxx&hl=fr" Cela ne semble pas marcher. Faites le test avec q=hotel hl=fr http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=hotel&hl=fr Vous aurez des résultats en fr et en en ! ----------------- La librairie Json est intégré à PHP5
 
Bonjour, il existe une limitation au nombre de requête que l'on peut faire? Merci
 
Comme tout il doit bien exister une limite, mais pour l'instant Google n'en définie pas à ma connaissance.
 
Bonjour, c'est vraiment bien expliqué et clair. Ma question est comment puis-je récupérer plus de réponses? D'après ce que j'ai compris je ne peux récupérer que 4 ou 8. Merci d'avance.
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Quelques articles qui devraient vous intéresser