Utilisation de l'API de recherche Google
Du coté PHP
|
|
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 :
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($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_REFERER, "http://www.phpsources.org/page_referer.php"); $body = curl_exec($ch); curl_close($ch); var_dump(json_decode($body)); ?> |
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> |
|
.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($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_REFERER, "http://www.phpsources.org/page_referer.php"); $body = curl_exec($ch); curl_close($ch); $json = json_decode($body); // var_dump(json_decode($body)); } ?> |
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
Quelques articles qui devraient vous intéresser










Connexion
Les derniers!

