Comment scraper les données de recherche Google ?


Google Search est l’un des meilleurs moteurs de recherche au monde, capable de faire presque 7 milliards de requêtes de recherche quotidiennes.

Il contient des milliards de pages, indexées sur un nuage de bases de données en cluster. Ces données peuvent être utiles à diverses fins que nous aborderons dans les sections suivantes.

Dans ce tutoriel, vous apprendrez comment gratter les résultats de la recherche Google. Le guide explique comment utiliser Python pour analyser les résultats de la recherche et extraire les données nécessaires. Continuer à lire.

La page de résultats de recherche Google est enrichie de nombreuses informations. De nombreux facteurs (terme de recherche, emplacement, appareil, etc.) déterminent son apparence sur l’écran de l’utilisateur.

De plus, la recherche Google a énormément évolué depuis la fin des années 90. Si, au début, vous ne pouviez naviguer que sur des liens, le moteur fournit désormais également différents types de données telles que des images, des vidéos, des livres, etc.

Ainsi, les éléments clés proviennent de gratter la recherche Google pages sont :

Résultats de recherche

La page de recherche contient les résultats de recherche les plus pertinents classés par pertinence. Chaque résultat a un lien, un titre et une courte description, si disponible. Ces données peuvent être facilement récupérées.

page de recherche

recherches associées

Outre les résultats de la recherche, la recherche Google affiche également les requêtes de recherche associées. Ces informations peuvent être utiles pour générer des idées de termes de recherche différentes mais pertinentes.

recherches associéesClassement

Un autre élément clé que vous pouvez obtenir lorsque vous gratter la recherche Google les données sont classées. Le classement du résultat de la recherche a également une importance clé.

Il aide à comprendre la pertinence du contenu et est l’une des principales mesures que les spécialistes SEO prennent en compte lors de la mise en œuvre de leurs stratégies.

ClassementExtraits en vedette

Pour certaines requêtes de recherche spécifiques et fréquentes, Google Search fournit également un court extrait. C’est une façon de répondre à la question de manière plus efficace et dynamique à l’aide de définitions, de listes, de tableaux, etc.

Extraits en vedette

Résultats de recherche filtrés

Les résultats de la recherche peuvent également être filtrés à l’aide de types de résultats : images, vidéos, actualités, cartes, livres, finances, etc. Cette fonctionnalité peut être utile pour affiner et affiner les informations.

Résultats de recherche filtrés

Pourquoi ces données sont-elles importantes et utiles ?

Gratter les résultats de la recherche Google peut être utilisé pour une variété de processus générateurs de revenus. Il peut être utilisé pour des choses telles que les études de marché, l’analyse des concurrents, le développement de produits, l’optimisation du référencement, la création de contenu, l’analyse des campagnes publicitaires, etc.

En utilisant judicieusement les données extraites, les entreprises peuvent améliorer leurs opérations commerciales et acquérir un avantage concurrentiel.

Gratter la recherche Google Résultats

Maintenant que nous avons un peu plus d’informations sur la recherche Google et ses différentes fonctionnalités, voyons comment l’extraire.

Dans cette section, vous apprendrez à configurer un Récupérateur de recherche Google en utilisant le mot clé Python.

Vous commencerez par installer les dépendances nécessaires et configurer l’environnement. Ensuite, vous explorerez des éléments plus complexes tels que la création de requêtes HTTP, l’analyse, la pagination, etc.

Mise en place de l’environnement

Gratter les résultats de recherche Google commence par la configuration de l’environnement. Voici comment procéder :

  1. Visiter le site officiel pour télécharger et installer la dernière version de Python.
  2. Exécutez la commande suivante dans votre terminal pour installer les dépendances nécessaires :
A LIRE :  Combien de temps le traitement HD prend-il sur YouTube en 2023 ?

Cette commande installera le demandes et Belle soupe modules, qui sont nécessaires pour continuer. Le module de requêtes est nécessaire pour envoyer des requêtes GET, tandis que Beautiful Soup sera utile lors de l’analyse des données.

Faire des requêtes HTTP

Commencez par utiliser la bibliothèque de requêtes pour envoyer une requête GET à Google Search. Tout d’abord, importez les bibliothèques :

importer demandes

depuis bs4 importer BelleSoupe

Ensuite, vous pouvez utiliser le obtenir() méthode pour faire une demande:

Gardez à l’esprit que vous stockez le résultat dans le réponse objet et impression du code d’état. Si vous exécutez le code ci-dessus, vous pouvez voir la sortie 200.

Pourtant, vous êtes susceptible de recevoir un 429 Trop de demandes code d’état car Google identifie cette demande comme provenant d’un robot.

Dans ce cas, nous devons ajuster notre code afin que Google ne nous considère pas comme un robot.

Ajout d’un agent utilisateur

Vous pouvez contourner temporairement l’erreur ci-dessus en ajustant le Agent utilisateur. UN Agent utilisateur indique à la recherche Google à partir de quel navigateur et de quel appareil vous accédez.

Revenez à la partie où vous avez identifié le terme de recherche et ajoutez Agent utilisateur à l’en-tête de vos requêtes comme suit :

ua = Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64)

AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/114.0.0.0

Safari/537.36

en-têtes = {

Agent utilisateur: ua

}

terme de recherche = Python

page = https://www.google.com/search?q={}.format(terme de recherche)

réponse = demandes.obtenir(page, en-têtes=en-têtes)

Comme vous pouvez le voir, le obtenir prend un paramètre supplémentaire appelé en-têtesqui peut définir une valeur personnalisée Agent utilisateur en utilisant dict.

Ajout de proxys

Une coutume Agent utilisateur peut fonctionner pour de petites recherches, mais lorsque vous commencez à devenir gros, la recherche Google recommencera à bloquer la demande.

C’est pourquoi, lors du scraping des résultats de recherche, vous devrez utiliser des procurations et les faire pivoter souvent pour contourner la protection CAPTCHA.

Faire toutes ces choses manuellement sera fastidieux, et peu d’entreprises l’abordent comme ça. Au lieu de cela, vous pouvez tirer parti services proxy premium pour faire tout le travail acharné pour vous.

Il existe de nombreuses solutions, mais l’une des plus recommandées est Oxylabs. Débloqueur Web. Il est spécifiquement conçu avec des objectifs difficiles à l’esprit et est très facile à mettre en œuvre.

Comme ils offrent actuellement un essai gratuit, nous l’utiliserons pour tester minutieusement votre scraper.

Une fois que vous vous êtes inscrit et que vous avez obtenu un identifiant de sous-compte pour le proxy Web Unblocker, vous pouvez utiliser votre proxy en apportant de simples modifications au code existant.

Identifiant Mot de passe = NOM D’UTILISATEUR, MOT DE PASSE

procurations = {

http:

http://{}:{}@unblock.oxylabs.io:60000.format(nom d’utilisateur,

mot de passe),

https:

http://{}:{}@unblock.oxylabs.io:60000.format(nom d’utilisateur,

mot de passe)

}

Voyons ce qui s’est passé dans le code ci-dessus. Vous avez créé deux variables avec le nom d’utilisateur et le mot de passe de votre sous-compte. Vous avez également créé le proxy dict en utilisant ces informations d’identification.

Après cela, vous pouvez passer le procurations au obtenir() méthode comme autre paramètre supplémentaire.

réponse = demandes.obtenir(page, en-têtes=en-têtes, mandataires=mandataires,

vérifier=Faux)

Et c’est tout! Web Unblocker fera automatiquement pivoter les proxys pour vous, vous n’avez donc pas à le faire manuellement.

Cependant, vous pouvez également faites pivoter manuellement vos proxys en obtenant une liste de IP proxy et configurez-les pour qu’ils fonctionnent à des intervalles aléatoires ou fixes.

A LIRE :  Comment trouver le nom de quelqu'un à partir d'une photo [3 Different Methods]

Analyser les résultats de la recherche

Analyse signifie transformer la structure des données grattées pour les rendre lisibles. Une fois que vous avez fait la requête HTTP et obtenu une réponse, vous devez trouver un moyen d’obtenir des données dans un format utilisable.

Lorsque vous grattez avec Python, votre solution sera la bibliothèque Beautiful Soup. C’est une bibliothèque Python souvent implémentée pour extraire des données de HTML.

Pour commencer, saisissez la commande suivante :

soupe = BelleSoupe(réponse.contenuhtml.parseur)

Le soupe L’objet contient la page HTML de résultats de recherche Google analysée. Maintenant, utilisez un navigateur pour inspecter la page HTML.

Vous remarquerez que tous les résultats de la recherche sont enveloppés dans un div avec une classe commune g. Alors, récupérons ces divs en utilisant le Trouver tout méthode:

résultats = soupe.Trouver tout(div“, {classe:g})

Maintenant, vous pouvez simplement parcourir les divs et analyser tous les résultats de la recherche un par un.

données = []
pour résultat dans résultats:

titre = résultat.trouver(h3).texte
URL = résultat.trouver(un).attrs[href]

description = “”
élément = résultat.trouver(div“, {classe:lEBKkf})

si élément :

span = elem.find(portée“)

si portée:

description = span.text

imprimer(titre, URL, description)

données.ajouter({

titre: titre,

URL: URL,

description: description,

})

De plus, les résultats de la recherche seront stockés dans la liste données et pour chaque résultat, vous obtiendrez un dict objet contenant titre, descriptionet URL.

Note: Si vous souhaitez faciliter le processus, vous pouvez automatiser l’analyse à l’aide d’outils tiers. Consultez notre liste des 10 outils d’analyse de données les plus efficaces que vous pouvez choisir.

Gestion de la pagination

Pour saisir plus de dix résultats de recherche, vous devrez utiliser la pagination. La recherche Google fournit un tableau des pages suivantes que vous pouvez utiliser à cette fin.

Vous devrez d’abord saisir le tableau à l’aide du code ci-dessous :

tds = soupe.trouver(tableau“, {classe: AaVjTc}).Trouver tout(td)

pages = [td.find(a)[‘href‘] pour td dans tds si td.trouver(un)]

Maintenant, vous pouvez récupérer les données de toutes ces pages en itérant et en analysant chaque page comme ci-dessous :

pour page dans pages :

réponse =

demandes.obtenir(https://www.google.com{}“.format(page),

en-têtes=en-têtes, mandataires=proxys, vérifier=Faux)

soupe = BelleSoupe(réponse.contenuhtml.parseur)

résultats = soupe.Trouver tout(div“, {classe:g})

pour résultat dans résultats:

titre = résultat.trouver(h3).texte

URL = résultat.trouver(un).attrs[href]

élément = résultat.trouver(div“, {classe:lEBKkf})

si élément :

portée = élém.trouver(portée)

si portée:

description = span.text

imprimer(titre, URL, description)

données.ajouter({

titre: titre,

URL: URL,

description: description,

})

Conclusion

Gratter la recherche Google Les données peuvent être une opportunité incroyable d’exploiter des informations sur les tendances du marché, les concurrents, les besoins des clients, les informations sur les produits, etc. Elles peuvent vous aider à obtenir des informations précieuses et à obtenir un avantage concurrentiel.

En utilisant les techniques décrites dans cet article, vous pouvez facilement gratter Google recherchez des données et utilisez-les pour prendre de bonnes décisions commerciales.