Comment gratter les aperçus de Google AI : 2025 Tutoriel

Découvrez ce qu’est l’aperçu de l’IA de Google et comment le récupérer de manière programmatique, ainsi que des conseils pour obtenir des résultats fiables et surmonter les difficultés les plus courantes.
9 min de lecture
How to Scrape Google AI Overview

Dans cet article, vous apprendrez :

  • Ce qu’est l’aperçu de l’IA de Google.
  • Comment il fonctionne et pourquoi il peut être utile de l’utiliser.
  • Comment récupérer l’aperçu de l’IA de Google avec un tutoriel étape par étape.
  • Les défis à relever et comment les surmonter.

Plongeons dans l’aventure !

Qu’est-ce que l’aperçu de l’IA de Google ?

Google AI Overview est une fonctionnalité intégrée à Google Search qui fournit des résumés générés par l’IA en haut des résultats de recherche. En coulisses, elle est alimentée par le modèle linguistique à grande échelle Gemini de Google.

La section Google AI Overview (en anglais)

Ces aperçus synthétisent des informations provenant de plusieurs sources web afin d’offrir des réponses concises aux questions des utilisateurs. Elles comportent souvent des liens vers les articles sources originaux, ce qui permet aux utilisateurs d’aller plus loin.

Depuis mai 2025, les aperçus AI sont désormais disponibles dans plus de 200 pays et territoires, et dans plus de 40 langues. À l’origine, cette fonctionnalité n’était disponible qu’aux États-Unis.

Pourquoi récupérer les aperçus de l’IA de Google ?

Les réponses de Google AI Overview sont plus que de simples réponses générales que Gemini ou tout autre fournisseur d’IA pourrait générer. La principale différence est qu’elles sont ancrées dans les liens SERP(Search Engine Results Pages) et le contenu de ces liens.

En d’autres termes, leur contenu est étayé par des articles, des pages et des sites réels, et comprend souvent des liens permettant de poursuivre la lecture et d’approfondir le sujet. C’est une chose que les LLM ont généralement du mal à faire.

Par conséquent, en récupérant de manière programmatique les aperçus de Google AI, vous pouvez créer une sorte de chatbot SERP alimenté par l’IA qui exploite les résultats réels des SERP pour produire des réponses optimisées par le RAG. L’idée est d’obtenir des réponses fondées sur un contenu web actuel et vérifiable.

Comme vous l’apprendrez à la fin de cet article, bien que cette approche soit certainement intéressante, elle comporte quelques défis inhérents. Vous pouvez donc envisager d’explorer notre guide sur la façon de construire un chatbot SERP à travers RAG.

Comment récupérer l’aperçu de Google AI en Python : Guide étape par étape

Dans cette section du tutoriel, nous vous guiderons à travers le processus de récupération de l’aperçu de Google AI. Vous apprendrez à construire un script Python qui :

  • Se connecte à Google.
  • Effectue une recherche.
  • Attend le chargement de la vue d’ensemble de l’IA.
  • Il en extrait le code HTML.
  • Convertit le contenu en Markdown.
  • L’exporte vers un fichier de sortie

Suivez les étapes ci-dessous pour savoir comment effectuer le grattage de l’aperçu de Google AI !

Étape 1 : Configuration du projet

Avant de commencer, assurez-vous que Python 3 est installé sur votre machine. Si ce n’est pas le cas, téléchargez-le et suivez l’assistant d’installation.

Ouvrez un terminal et exécutez les commandes suivantes :

mkdir google-ai-overview-scraper
cd google-ai-overview-scraper
python -m venv venv

Ils créeront un nouveau dossier google-ai-overview-scraper/ pour votre projet scraper et initialiseront un environnement virtuel.

Chargez le dossier du projet dans votre IDE Python préféré. PyCharm Community Edition ou Visual Studio Code avec l’extension Python sont deux bonnes options.

Dans le dossier du projet, créez un fichier scraper.py :

google-ai-overview-scraper/
├── venv/              # Your Python virtual environment
└── scraper.py         # Your scraping script

scraper.py est maintenant un script vide, mais il contiendra bientôt la logique de scraping.

Dans le terminal de l’IDE, activer l’environnement virtuel. Sous Linux ou macOS, lancer cette commande :

source ./venv/bin/activate

Alternativement, sous Windows, exécutez :

venv/Scripts/activate

C’est très bien ! Vous avez maintenant un environnement Python propre pour votre projet de scraping.

Étape 2 : Installer Playwright

Google est une plateforme dynamique et, depuis les dernières mises à jour, il nécessite l’exécution de JavaScript pour charger complètement la plupart des pages. En outre, la création manuelle d’une URL de recherche Google valide peut s’avérer délicate. C’est pourquoi la meilleure façon d’interagir avec Google Search est de simuler le comportement de l’utilisateur dans un navigateur.

En d’autres termes, pour récupérer la section “AI Overview”, vous avez besoin d’un outil d’automatisation de navigateur. Cet outil vous permet de lancer un véritable navigateur, de charger des pages web et d’interagir avec elles de manière programmatique, comme le ferait un utilisateur.

Playwright est l’un des meilleurs outils d’automatisation de navigateur pour Python. Dans votre environnement virtuel Python activé, installez Playwright via le paquetage pip playwright:

pip install playwright

Maintenant, terminez l’installation de Playwright avec :

python -m playwright install

Cette commande télécharge les exécutables du navigateur et les autres composants dont Playwright a besoin pour contrôler les navigateurs web.

Pour plus de détails sur l’utilisation de cet outil, lisez notre guide sur le scraping web avec Playwright.

Génial ! Vous avez maintenant tout ce qu’il faut pour commencer à récupérer la section AI Overview de Google.

Étape 3 : Accéder à la page d’accueil de Google

Ouvrez votre fichier scraper.py, importez Playwright et initialisez une instance de Chromium en mode headless:

import asyncio
from playwright.async_api import async_playwright

async def run():
    async with async_playwright() as p:
        # Start a new Chromium instance
        browser = await p.chromium.launch(headless=True) # Set to False while developing
        context = await browser.new_context()
        page = await context.new_page()

Cet extrait crée une instance de page Playwright, qui vous permet de contrôler par programme un onglet du navigateur. En définissant headless=True, le navigateur est exécuté en arrière-plan, sans interface graphique. Si vous développez ou souhaitez déboguer, définissez headless=False pour observer ce que fait votre script pendant qu’il s’exécute.

Comme async_playwright fonctionne de manière asynchrone, le script doit utiliser le module asyncio de Python.

Clause de non-responsabilité: N’oubliez pas que les nouvelles fonctionnalités de Google AI Overview sont généralement déployées en premier lieu aux États-Unis. Pour obtenir des résultats plus précis, vous devrez peut-être géolocaliser votre machine dans une ville des États-Unis. Pour ce faire, intégrez Playwright à un proxy Web. Plus précisément, jetez un coup d’œil à nos options de proxy pour les États-Unis.

À partir de maintenant, nous supposerons que vous opérez à partir des États-Unis.

Maintenant, utilisez la méthode goto() de Playwright pour ouvrir la page d’accueil de Google :

await page.goto("https://google.com/")

N’oubliez pas de nettoyer les ressources en fermant le navigateur à la fin de votre script :

await browser.close()

Mettez tout cela ensemble, et vous obtiendrez :

import asyncio
from playwright.async_api import async_playwright

async def run():
    async with async_playwright() as p:
        # Start a new Chromium instance
        browser = await p.chromium.launch(headless=True) # Set to False while developing
        context = await browser.new_context()
        page = await context.new_page()

        # Navigate to Google
        await page.goto("https://google.com/")

        # scraping logic goes here ...

        # Close the browser and free resources
        await browser.close()

asyncio.run(run())

Fantastique ! Vous êtes prêt à récupérer des sites web dynamiques comme Google.

Étape 4 : Soumettre le formulaire de recherche

Accédez à la page d’accueil de Google dans votre navigateur. Cliquez avec le bouton droit de la souris sur la barre de recherche et choisissez “Inspecter” pour ouvrir les outils de développement du navigateur :

Inspection de la zone de texte de recherche Google

La structure HTML de Google utilise souvent des classes et des attributs générés dynamiquement, qui sont susceptibles de changer à chaque déploiement. Cela les rend peu fiables pour le scraping, car vos sélecteurs se briseront au fil du temps.

Au lieu de cela, ciblez des attributs HTML stables. Par exemple, la zone de texte de recherche possède un attribut aria-label clair :

textarea[aria-label="Search"]

Utilisez la méthode fill() pour sélectionner le champ de texte de recherche et le remplir avec la requête de recherche Google :

await page.fill("textarea[aria-label='Search']", search_query)

Dans cet exemple, la variable search_query est définie comme suit :

search_query = "What is web scraping?"

Notez que l’utilisation d’une requête de type question est un excellent moyen d’inciter Google à générer la section “Aperçu de l’IA”. C’est important, car cette section n’est pas toujours incluse dans les pages de résultats de recherche. N’hésitez pas à adapter la requête de recherche à votre cas d’utilisation spécifique.

Ensuite, déclenchez la recherche en simulant une pression sur la touche Entrée :

await page.keyboard.press("Enter")

Si vous exécutez le script en mode headful(headless=False) et que vous placez un point d’arrêt sur la ligne page.close(), voici ce que vous devriez voir :

La fenêtre Chromium contrôlée par Playwright

Remarquez la section “Aperçu de l’IA” en haut de la page de résultats. Si elle n’apparaît pas, essayez de réexécuter le script avec une requête différente, plus proche d’une question. C’est incroyable !

Étape 5 : Récupérer la section de présentation de l’IA de Google

Si vous étudiez le fonctionnement de la fonction “AI Overview” de Google, vous constaterez que trois scénarios sont possibles :

  1. Réponse mise en cache: L’extrait de l’aperçu de l’IA est déjà mis en cache et apparaît instantanément.
  2. Génération en temps réel: L’aperçu AI est généré de manière dynamique, avec un court délai de traitement de la requête par Google.
  3. Pas d’aperçu de l’IA: Google n’affiche pas du tout la section Aperçu de l’IA.

Dans cette section, nous nous concentrerons sur le scénario 2, dans lequel la vue d’ensemble de l’IA est générée à la volée. C’est le cas le plus délicat, et il couvre également le scénario 1.

Pour le déclencher, essayez d’utiliser des questions nouvelles ou moins courantes. Par exemple :

Notez que Google prend un certain temps pour générer la section "AI Overview" (aperçu de l'intelligence artificielle).

Comme indiqué ci-dessus, la section “AI Overview” apparaît après quelques millisecondes de traitement. Plus précisément, elle ne peut être considérée comme prête que lorsque son élément title contient le texte “AI Overview”.

Inspectez donc l’élément contenant le titre de la vue d’ensemble de l’IA :

Inspection de l'élément HTML "AI Overview title

Vous pouvez sélectionner le titre à l’aide du sélecteur CSS suivant :

div[jsname][role="heading"] strong

Pour s’assurer que la section “Aperçu de l’IA” est présente, attendez que cet élément apparaisse et contienne le texte correct :

await page.locator(
    "div[jsname][role='heading'] strong", has_text="ai overview"
).first.wait_for(timeout=30000)

Cela permet d’attendre jusqu’à 30 secondes (30000 millisecondes) que l’élément contenant le texte “ai overview” (insensible à la casse) se trouve sur la page.

Maintenant que vous êtes certain que la section “Aperçu de l’IA” a été chargée, préparez-vous à la gratter. Dans la plupart des cas, une partie du contenu est initialement cachée derrière un bouton “Afficher plus” :

Inspection du bouton "Afficher plus

Pour extraire la réponse complète, vérifiez si le bouton “Afficher plus” est présent et cliquez dessus :

try:
    # Clicking the "Show more" button if it is present on the page
    ai_overview_show_more_button = page.locator("div[aria-label='Show more AI Overview']").first
    await ai_overview_show_more_button.click()
except PlaywrightTimeoutError:
    print("'Show more' button not present")

N’oubliez pas d’importer PlaywrightTimeoutError, qui se déclenche lorsque la fonction locator() ne trouve pas l’élément spécifié :

from playwright.async_api import TimeoutError as PlaywrightTimeoutError

Une fois que la section complète est visible, inspectez la structure HTML pour déterminer comment la sélectionner :

Inspection de l'élément de contenu de la vue d'ensemble de l'IA

Comme vous pouvez le constater, le contenu principal de la vue d’ensemble de l’IA peut être sélectionné à l’aide de ce sélecteur CSS :

div[jsname][data-rl] div

Utilisez le code suivant pour localiser l’élément et extraire son code HTML :

ai_overview_element = page.locator("div[jsname][data-rl] div").first
ai_overview_html = await ai_overview_element.evaluate("el => el.outerHTML")

Si vous vous demandez pourquoi nous avons extrait le code HTML et pas seulement le texte, continuez à lire.

Nous y voilà ! Vous avez réussi à récupérer la section Google AI Overview.

Étape 6 : Convertir le code HTML de l’aperçu de Google AI en code Markdown

Lorsqu’il s’agit de scraping web, l’objectif le plus courant est d’extraire du texte à partir d’éléments, et non leur HTML complet. Toutefois, dans la plupart des cas, le contenu généré par l’IA dans la section “Aperçu de l’IA de Google” n’est pas du texte brut.

En revanche, il peut comporter des puces, des liens, des sous-titres et même des images. Traiter ce contenu comme du texte brut reviendrait à le dépouiller de toute sa structure et de tout son contexte, des informations précieuses que vous devez préserver.

Une meilleure approche consiste donc à traiter l’aperçu de l’IA comme du HTML brut, puis à le convertir en Markdown, un format idéal pour les applications d’IA.

Pour convertir le HTML en Markdown, installez Markdownify dans votre environnement activé :

pip install markdownify

Importer :

from markdownify import markdownify as md

Et l’utiliser pour la conversion de données HTML en Markdown :

ai_overview_markdown = md(ai_overview_html)

Génial ! Il ne reste plus qu’à exporter l’aperçu AI scraped vers un fichier Markdown.

Étape 7 : Exporter les données extraites

Utiliser la bibliothèque standard Python pour ouvrir un fichier de sortie nommé ai_overview.md, et y écrire le contenu Markdown converti :

with open("ai_overview.md", "w", encoding="utf-8") as f:
    f.write(ai_overview_markdown)

Ceci marque la fin de votre parcours de scraping de l’aperçu de Google AI !

Étape n° 8 : Assembler le tout

Pour l’instant, scraper.py devrait contenir :

import asyncio
from playwright.async_api import async_playwright
from playwright.async_api import TimeoutError as PlaywrightTimeoutError
from markdownify import markdownify as md

async def run():
    async with async_playwright() as p:
        # Start a new Chromium instance
        browser = await p.chromium.launch(headless=True) # Set to False while developing
        context = await browser.new_context()
        page = await context.new_page()

        # Navigate to Google
        await page.goto("https://google.com/")

        # Fill out search form
        search_query = "What is web scraping?" # Replace it with the search query of interest
        await page.fill("textarea[aria-label='Search']", search_query)
        await page.keyboard.press("Enter")

        # Wait for the AI overview section to be ready
        await page.locator(
            "div\[jsname\][role='heading'] strong", has_text="ai overview"
        ).first.wait_for(timeout=30000)

        try:
            # Clicking the "Show more" button if it is present on the page
            ai_overview_show_more_button = page.locator("div[aria-label='Show more AI Overview']").first
            await ai_overview_show_more_button.click()
        except PlaywrightTimeoutError:
            print("'Show more' button not present")

        # Extract the AI overview HTML
        ai_overview_element = page.locator("div\[jsname\][data-rl] div").first
        ai_overview_html = await ai_overview_element.evaluate("el => el.outerHTML")

        # Convert the HTML to Markdown
        ai_overview_markdown = md(ai_overview_html)

        # Export the Markdown to a file
        with open("ai_overview.md", "w", encoding="utf-8") as f:
            f.write(ai_overview_markdown)

        # Close the browser and free resources
        await browser.close()

asyncio.run(run())

Ouah ! Avec un peu moins de 50 lignes de code, vous venez de gratter la section AI Overview de Google.

Lancez l’aperçu Google AI ci-dessus avec :

python script.py

Si tout se passe comme prévu, un fichier ai_overview.md apparaîtra dans le dossier du projet. Ouvrez-le et vous devriez voir quelque chose comme :

Web scraping is the process of using automated tools (called scrapers or bots) to extract content and data from websites. Unlike screen scraping, which captures only the visible pixels, web scraping delves deeper to retrieve the underlying HTML code and data stored in a website's database. This extracted data can then be used for various purposes like price comparison, market research, or data analysis.

Here's a more detailed explanation:

* **Automated Extraction:**
  Web scraping involves using software to automatically visit websites, locate and extract specific data, and save it in a structured format like a CSV file or database.

* **HTML and Database Data:**
  Scrapers don't just copy the visual content; they access the HTML code and data stored in the website's database to retrieve more comprehensive information.

* **Various Use Cases:**
  Web scraping is employed for various purposes, including price comparison, market research, competitor analysis, lead generation, sentiment analysis, and more.

* **Not Just for Businesses:**
  While businesses often use web scraping for data-driven decision-making, it's also valuable for individuals seeking price comparisons, market trends, or general data analysis.

* **Consider Ethical and Legal Implications:**
  When web scraping, it's crucial to be aware of the website's terms of service and robots.txt file to ensure you are not violating their policies or engaging in illegal activities. 

Copiez le contenu Markdown ci-dessus et collez-le dans une visionneuse Markdown comme StackEdit :

Notez la représentation Markdown sur la droite

C’est exactement la version structurée, facile à lire et riche en informations de l’extrait de l’aperçu de l’intelligence artificielle de Google, convertie de HTML brut en Markdown propre !

Et voilà ! Mission accomplie.

Défis liés à l’exploration de l’aperçu de l’IA de Google

Si vous continuez à exécuter le script en mode tête, vous rencontrerez probablement cette page de blocage à un moment donné :

Le CAPTCHA de Google arrête votre robot

Si vous effectuez trop de requêtes automatisées ou si vous utilisez une adresse IP dont le score de fiabilité est faible, Google détectera votre activité comme étant celle d’un robot et vous demandera de vous soumettre à un reCAPTCHA.

En guise de solution de contournement, vous pouvez essayer de contourner les CAPTCHA en Python. Cela peut fonctionner pour des CAPTCHAs plus simples mais échoue souvent contre des versions plus avancées ou plus récentes de reCAPTCHA comme reCAPTCHA v3.

Dans ce cas, vous aurez probablement besoin d’un service premium de résolution de CAPTCHA. Une autre approche consiste à configurer Playwright pour qu’il fonctionne sur un navigateur autre que Chromium. Le problème est que, par défaut, Playwright instrumente Chromium (ou tout autre navigateur) d’une manière qui peut être détectée par les systèmes anti-bots de Google.

Pour éviter la détection, vous pouvez intégrer Playwright à AI Agent Browser. Il s’agit d’un navigateur en nuage compatible avec Playwright et spécialisé dans l’exploration du Web et l’extraction de données dans les flux de travail agentiques.

Cette approche présente l’avantage d’une évolutivité quasi infinie et d’une réduction significative des défis liés aux CAPTCHA. Même lorsque des CAPTCHA apparaissent, Agent Browser dispose de capacités de résolution de CAPTCHA ainsi que de l’intégration de proxy, ce qui vous permet de géolocaliser votre Google AI Overview scraping dans n’importe quel pays ou langue.

Conclusion

Dans ce tutoriel, vous avez appris ce qu’est l’aperçu de Google AI et comment en extraire des données. Comme vous l’avez vu, la construction d’un simple script Python pour récupérer automatiquement ces données ne nécessite que quelques lignes de code.

Si cette solution fonctionne bien pour les petits projets, elle n’est pas pratique pour le scraping à grande échelle. Google utilise certaines des technologies anti-bots les plus avancées du secteur, ce qui peut se traduire par des CAPTCHA ou des interdictions d’IP. De plus, l’extension de ce processus à de nombreuses pages augmenterait considérablement les coûts d’infrastructure.

Si vous avez besoin des données SERP de Google pour vos flux de travail d’IA, envisagez d’utiliser une API qui fournit directement des données SERP prêtes pour l’IA, comme l’API SERP de Bright Data.

Créez un compte Bright Data gratuit et accédez à toutes les solutions de notre infrastructure de données d’IA !