Headless browser ou suggestqueries.google.com ?

Hello,

Je cherche à développer une application web qui devra récupérer des suggestions à partir d’une liste d’expressions (requêtes initiales), et récupérer les résultats sur certaines des expressions qui en découlent. En gros, un utilisateur va communiquer T-shirt rose au système via l’appli, et le système va interroger Google Search avec cette expression et récupérer toutes ses suggestions :

  • t-shirt rose
  • t-shirt rose homme
  • t-shirt rose femme
  • t-shirt rose fluo
  • t-shirt rose pale
  • t-shirt rose fluo femme
  • etc.
    Le système va regarder si dans les suggestions il y en a une qui matche avec la requête initiale, et si c’est le cas, il va interroger Google Search et récupérer les 100 premiers résultats. Dans l’exemple, il y a t-shirt rose qui correspond, donc le système récupère les résultats correspondant.

Il se trouve que les résultats de la requête initiale et ceux de la suggestion correspondante sont les mêmes puisque les chaînes de caractères sont identiques. Cependant, je fais remarquer que si la suggestion ne correspondra parfois pas caractère pour caractère avec la requête, le système considèrera quand même qu’elle matche avec elle ; par exemple pour la requête Chemise blanc noir la suggestion chemise blanche noir matchera. Dans ce cas, le système interrogera Google Search avec la suggestion chemise blanche noir.

J’ai imaginé faire développer un script pour récupérer les suggestions et un autre pour récupérer les résultats. Le premier script exploiterait ce type de service : http://suggestqueries.google.com/complete/search?output=toolbar&hl=fr&q=t-shirt+rose

Là, je viens d’avoir une discussion avec un dév qui possède un script NigthmareJS qui me dit que pour récupérer les suggestions, il est préférable d’interroger l’interface utilisateur via headless browser plutôt que le service cité plus haut. J’imagine que dans ce cas les suggestions pourraient être récupérées en même temps que le système interroge Google Search pour récupérer les résultats. De ce point de vue, cela semble plus intéressant.

Mais si je comprends parfaitement qu’il y a moins de risque de ban en exploitant plutôt l’interface utilisateur (plus facile de rapprocher le profil du bot d’un profil humain), je demeure néanmoins sceptique concernant le fait qu’un tel choix n’est pas plus coûteux en temps ou en proxies, sachant que le système doit pouvoir, pour commencer, envoyer de l’ordre de 300 000 requêtes par jour.

Qui peut m’apporter un éclairage sur ce point ? Pour récupérer quotidiennement des suggestions à partir de quelques centaines de milliers de requêtes, vous partiriez plutôt sur l’exploitation du service suggestqueries.google.com ou bien sur celle de l’interface utilisateur de Google Search ?

Par ailleurs, si vous avez des retours d’expérience à partager concernant le Google scraping avec ce type de rythme, et que vous êtes prêt à en partager l’approche, je prends volontiers.

Merci de votre intérêt pour ce post ! :wink:

1 « J'aime »

Hello @karnabal,

Je vais laisser des personnes ayant travaillé sur des projets similaires répondre, mais d’une manière générale j’aurais tendance à privilégier l’utilisation d’API plutôt du scraping (surtout en headless) car c’est beaucoup plus stable et tout indiqué pour de l’automatisation :wink:

1 « J'aime »