Cet article s’inspire d’un tutoriel très précis quoiqu’un peu technique réalisé par Amit Agarwal. Le principe consiste à utiliser les services Google Developers Console et Google Custom Search pour disposer d’un flux RSS qui proposera des résultats très proches d’une requête google, avec plus d’exhaustivité qu’un google custom search engine
Il faut donc d’abord créer un Google Custom Search Engine (CSE) pour pouvoir ensuite créer un flux RSS à partir de celui-ci. Le Google Custom Search Engine est un outil proposé par Google qui permet d’effectuer des requêtes sur des sources et/ou types de fichiers spécifiques et pas sur l’ensemble de Google. La plupart des sites internet utilise un Google CSE comme moteur de recherche pour leurs visiteurs (en indiquant à Google de ne chercher que sur leur site donc).
Créer un Google Search Engine qui s’appuie sur les recherches Google
Le Google Search Engine a pour objet de permettre d’utiliser le moteur Google pour cibler des recherches sur certains sites. Il est notamment souvent utilisé comme moteur de recherche interne de sites worpdress par exemple.
En revanche, par défaut, les résultats seront donc limités. Il est néanmoins possible de les étendre via l’option « chercher sur l’ensemble du web » :
Une fois le moteur de recherche créé, on peut commencer à préparer le flux RSS de la recherche CSE.
Création du flux RSS
L’URL pour créer un flux RSS à partir d’une requête aura toujours la même structure : https://www.googleapis.com/customsearch/v1?alt=atom&cx=xxx:yyy&key=abc&q=query :
- xxx:yyy correspond à l’identifiant d’un moteur de recherche Google Custom Search. On peut l’obtenir soit en allant dans « Modifier le moteur de recherche », « Configuration », « détails » :
Soit à partir de l’URL publique de votre moteur de recherche CSE :
- abc est une clé API que l’on obtient via la Google Developer Console et qui permet de demander à Google d’accéder aux données du CSE. Attention à bien suivre les étapes : après créer un nouveau projet, il faut créer une custom search API
Et ensuite cliquer sur « Enable » : si vous oubliez cette étape, le flux ne fonctionnera pas ! A noter que chaque API ne dispose de base que de 100 requêtes possibles par jour donc il faut éviter un rafraîchissement trop régulier – mais on peut créer une API par moteur de recherche :
Il faut ensuite aller dans « credentials » (menu à gauche) pour créer un accès à la clé API :
Attention : choisir une « browser key » sans restrictions pour que le flux RSS fonctionne. On obtient ainsi la clé API à utiliser :
- « q » correspond à la dernière partie de la requête https://www.googleapis.com/customsearch/v1?alt=atom&cx=xxx:yyy&key=abc&q=query
On peut adapter une requête pour le flux RSS en suivant la liste des paramètres de l’API du custom search engine. Par exemple, si je veux les résultats des deux derniers jours sur les PDF contenant le terme « Total » :
https://www.googleapis.com/customsearch/v1?alt=atom&cx=xxx:yyy&key=abc&q=Total&fileType=pdf&dateRestrict=d2
Il faut donc toujours indiquer & entre deux éléments d’une requête.
Quelques exemples d’opérateurs :
fileType= pour demander les résultats d’un type de fichier précis ;
dateRestrict=”xx” pour avoir les résultats des derniers jours “dx”, de la dernière semaine “wx”, du mois “mx”, de l’année “mx” où X représente le nombre de mois, jours, semaines …
orTerms=, exactTerms=, excludeTerms= comme leur nom l’indique : OR”XX”, “XX”, NOT”XX” – pour obtenir AND : “XX”+“XX
linkSite= pour chercher les résultats sur une URL précise, relatedSite= pour inclure les liens du site dans la recherche
sort=date pour afficher les résultats du plus récent au moins récent
hl=fr pour spécifier que votre interface est en langue française – cela permet d’améliorer la qualité des résultats a priori
Attention à la casse des requêtes, sinon elles ne sont pas prises en compte !
Paramétrer le flux de recherche
Il suffit ensuite d’ajouter le flux dans un lecteur de flux RSS pour y avoir accès. Attention néanmoins : Google donne une limite de 100 requêtes par API et par jour. Mieux vaut donc éviter de rafraichir toutes les 5 minutes et trouver un bon compromis.
A noter que la date affichée pour les news du flux RSS est toujours le 18 janvier 1970. Néanmoins, avec sort=date on obtient les résultats les plus récents quand même :