Comment récupérer les données de Google en utilisant Python

Comment faire, Python, Scraping, Mar-06-20245 minutes de lecture

Google est le plus grand acteur de tous les moteurs de recherche lorsqu'il s'agit de rechercher des informations sur l'internet. Selon les estimations, plus de 3,5 milliards de recherches sont effectuées chaque jour sur Google Search. Nous (les utilisateurs de Google) ne recevons qu'un certain nombre d'informations basées sur Google Analytics et Google Ads. Google utilise son API

Table des matières

Google est le plus grand acteur de tous les moteurs de recherche lorsqu'il s'agit de rechercher des informations sur l'internet. Selon les estimations, plus de 3,5 milliards de recherches sont effectuées chaque jour sur Google Search. Nous (les utilisateurs de Google) ne recevons qu'un certain nombre d'informations basées sur Google Analytics et Google Ads. Google utilise son API (interface de programmation d'applications) et choisit essentiellement les informations les plus utiles pour nous sur la base de ses recherches et de ses classements. Mais qu'en est-il si nous voulons creuser un peu plus pour savoir quelles sont les informations qui ont vraiment de la valeur pour vous ? 

C'est là qu'intervient la nécessité du scraping. Vous pouvez considérer un scraper Google comme un moyen de mettre en évidence les chapitres les plus importants d'un livre. Lorsque vous parcourez un manuel à la recherche d'informations, vous avez tendance à choisir le texte qui sera le plus utile pour votre recherche ou votre test. Mais le World Wide Web est plus grand qu'un livre de 1000 pages. Ainsi, dans le cas de l'internet, Google scraper peut être votre œil concentré qui saisit et collecte immédiatement les meilleurs résultats sur le sujet qui vous préoccupe. Vous pouvez extraire des résultats de recherche Google sur la base de mots-clés spécifiques. Par exemple, si vous scrapez Google en utilisant le mot-clé "lions", le scraper web de Google vous donnera un certain nombre d'URL les mieux classés sur la base de ce mot-clé. Plus vous utilisez de mots-clés, plus Google vous fournira des URL et des données spécifiques. Plus les données sont spécifiques, plus elles sont adaptées à vos besoins. Mais comprenons d'abord la nécessité de scraper Google.

Pourquoi faut-il scraper Google ?

Vous savez que Google est le principal point d'accès à l'internet pour des milliards de personnes et que presque toutes les entreprises souhaitent apparaître dans les résultats de recherche de Google. Les évaluations et les avis de Google ont un impact considérable sur les profils en ligne des entreprises locales. Les agences de marketing qui comptent de nombreux clients issus de différents secteurs d'activité s'appuient fortement sur l'obtention d'outils SEO (Search Engine Optimization) fiables. Ces outils permettent d'effectuer efficacement diverses tâches et de gérer et d'analyser les résultats avec succès. 

Voici quelques-uns des cas d'utilisation du scraping Google.

  • Vous pouvez analyser les annonces pour un ensemble donné de mots-clés.
  • Vous pouvez surveiller votre concurrence dans les résultats organiques et payants.
  • Vous pouvez établir une liste d'URL pour des mots-clés spécifiques. 

Les entreprises ont besoin de scraper Google pour les raisons suivantes.

  • Optimisation des moteurs de recherche (SEO) - Scraping Google montre à une entreprise à quel point la page de son site web apparaît sur la page de résultats de Google et donne un aperçu du nombre de mots-clés utilisés par le site web sur chaque page. Plus un site web utilise de mots-clés, plus cette page particulière apparaît en haut de la page de résultats. Comprendre comment utiliser le référencement permet donc à votre entreprise de rester très compétitive.
  • Marketing - Plus nous voyons le logo d'Amazon sur nos écrans, plus nous avons tendance à nous diriger vers Amazon lorsque nous avons besoin de faire un achat. Le scraping Google permet de collecter des données sur la manière dont vos concurrents annoncent leurs produits, sur les produits qu'ils choisissent d'annoncer et sur la manière dont les clients réagissent à ces produits. 
  • Tactiques de vente compétitives - Le scraping de Google aide votre entreprise à créer des tactiques de vente plus compétitives. Si votre entreprise est mal classée sur une page de résultats particulière, cela peut vous permettre de comprendre pourquoi un produit particulier de votre entreprise n'a pas de succès. Le scraping vous donne une longueur d'avance sur vos concurrents et vous offre de nouveaux moyens d'être compétitif dans ce monde. 

Scraping Google à l'aide de Python

Voyons comment nous pouvons récupérer les données de Google à l'aide de Python.

Installation

Tout d'abord, vous devez installer un faux useragent. Il récupère un useragent à jour avec une base de données réelle.

pip install fake-useragent

Importer des bibliothèques

Vous devez importer toutes les bibliothèques nécessaires, comme indiqué ci-dessous.

import pandas as pd
import numpy sous le nom np
import urllib
from fake_useragent import UserAgent
import requests
import re
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup

Utiliser un mot-clé

Vous devez construire l'URL de Google en utilisant votre mot-clé et le nombre de résultats. Pour ce faire, nous allons suivre les deux étapes suivantes :

Encoder le mot-clé en HTML à l'aide d'urllibAjouter l'identifiant à l'URL

Nous supposons que notre mot clé est "machine learning python".

mot-clé= "machine learning python"
html_keyword= urllib.parse.quote_plus(keyword)
print(mot-clé)

Lorsque nous imprimons le mot-clé, nous obtenons le résultat suivant.

Créer l'URL de Google

Après avoir encodé le mot-clé en HTML à l'aide d'urllib, nous devons construire l'URL de Google comme indiqué ci-dessous.

nombre_de_résultats = 15
google_url = "https://www.google.com/search?q=" + html_keyword + "&num=" + str(number_of_result)
print(google_url)

Nous obtenons l'URL suivante :

Obtenir des résultats

Maintenant, nous devons cliquer sur l'URL et obtenir les résultats. Pour ce faire, Beautiful Soup et Fake Useragent nous aideront.

ua = UserAgent()
response = requests.get(google_url, {"User-Agent": ua.random})
soup = BeautifulSoup(response.text, "html.parser")

Nous n'avons besoin que des expressions régulières pour extraire les informations que nous voulons.

result = soup.find_all('div', attrs = {'class': 'ZINbbc'})
results=[re.search('\/url\?q\=(.*)\&sa',str(i.find('a', href = True)['href'])) for i in result if "url" in str(i)]
#this is because in rare cases we can't get the urls
links=[i.group(1) for i in results if i != None]
links

Voici ce que nous obtenons.

Voici comment vous pouvez récupérer les données de Google en utilisant Python. 

Nous pouvons également résumer le code ci-dessus en une seule fonction scraper, comme indiqué ci-dessous.

def google_results(keyword, n_results):
    query = keyword
    query = urllib.parse.quote_plus(query) # Format into URL encoding
    number_result = n_results
    ua = UserAgent()
    google_url = "https://www.google.com/search?q=" + query + "&num=" + str(number_result)
    response = requests.get(google_url, {"User-Agent": ua.random})
    soup = BeautifulSoup(response.text, "html.parser")
    result = soup.find_all('div', attrs = {'class': 'ZINbbc'})
    results=[re.search('\/url\?q\=(.*)\&sa',str(i.find('a', href = True)['href'])) for i in result if "url" in str(i)]
    links=[i.group(1) for i in results if i != None]
    return (links)

Ici, google_results est notre fonction de scraper dans laquelle nous passons le mot-clé et le nombre de résultats comme paramètres et construisons l'URL de Google.

google_results("machine learning in python", 10)

Voici ce que nous obtenons.

Utilisation de proxys

Que faire si vous souhaitez vous connecter à l'API Google Ads? Vous pouvez le faire par l'intermédiaire d'un proxy en définissant la configuration http_proxy dans votre fichier google-ads.yaml comme indiqué ci-dessous.

http_proxy : INSÉRER_PROXY_ICI

Vous pouvez spécifier http://user:pass@localhost:8082 comme proxy. Vous pouvez également configurer le paramètre de proxy de manière programmatique à l'aide des méthodes de GoogleAdsClient comme :

  • load_from_dict
  • load_from_env
  • load_from_string

Par exemple, 

config = {
  ...
  "http_proxy": "INSERT_PROXY_HERE",
}
googleads_client = GoogleAdsClient.load_from_dict(config)

Vous devez définir la variable d'environnement GOOGLE_ADS_HTTP_PROXY pour utiliser un proxy à partir de la méthode load_from_env.

Pourquoi utiliser Google proxys?

Voici les raisons d'utiliser Google proxys.

  • Obtenir des résultats rapides et uniques - Tous les moteurs de recherche, y compris Google, désapprouvent l'utilisation de logiciels automatisés pour extraire des résultats. Lorsqu'ils constatent que plusieurs demandes de recherche proviennent d'une adresse IP, ils bloquent cette dernière et l'empêchent d'accéder à des données. Ainsi, avec un lot complet d'adresses privées uniques et dédiées proxys, vous pourrez non seulement utiliser le logiciel automatisé pour extraire les résultats de recherche de Google, mais vous pourrez également obtenir les données extrêmement rapidement.
  • Respect de la vie privée - Google proxys garantit que votre adresse IP d'origine est sûre et sécurisée et qu'elle ne peut faire l'objet d'aucune tentative de piratage. Ils veillent également à ce que les informations sensibles contenues dans votre ordinateur soient conservées en lieu sûr.
  • Automatisation - Le logiciel d'automatisation fonctionne correctement en utilisant un site proxys de bonne qualité, et vous n'avez pas besoin d'acheter quoi que ce soit d'autre en plus du site proxys et du logiciel d'automatisation.

Conclusion

Il est possible d'explorer Google en utilisant Python pour :

  • Analyse des concurrents
  • Construire des liens
  • Mettre en valeur la présence sociale
  • Recherche de mots-clés

Lors de l'extraction de données de Google, proxys sont essentiels, car ils peuvent aider les entreprises à améliorer leur classement dans les moteurs de recherche et à éviter que leur adresse IP ne soit bloquée. Vous pouvez utiliser tout un lot de proxys dédiés au scraping de Google, et ils vous permettent d'obtenir les données extrêmement rapidement.

J'espère que vous avez compris comment faire du scrape sur Google en utilisant Python.