Como extrair visões gerais de IA do Google: Tutorial 2025

Saiba o que é o Google AI Overview e como extraí-lo programaticamente, além de dicas para obter resultados confiáveis e superar desafios comuns.
10 min de leitura
How to Scrape Google AI Overview

Neste artigo, você aprenderá:

  • O que é a Visão geral da IA do Google.
  • Como funciona e por que o scraping pode ser valioso.
  • Como extrair a visão geral da IA do Google com um tutorial passo a passo.
  • Os desafios envolvidos e como superá-los.

Vamos mergulhar de cabeça!

O que é a visão geral da IA do Google?

A Visão geral da IA do Google é um recurso integrado à Pesquisa Google que fornece resumos gerados por IA na parte superior dos resultados de pesquisa. Nos bastidores, ele é alimentado pelo modelo de linguagem grande Gemini do Google.

A seção Visão geral da IA do Google

Essas visões gerais sintetizam informações de várias fontes da Web para oferecer respostas concisas às consultas dos usuários. Elas geralmente incluem links para os artigos originais, ajudando os usuários a se aprofundarem.

Desde maio de 2025, as visões gerais de IA estão agora disponíveis em mais de 200 países e territórios e em mais de 40 idiomas. Originalmente, o recurso estava disponível apenas nos Estados Unidos.

Por que extrair as visões gerais de IA do Google?

As respostas da Visão geral da IA do Google são mais do que apenas respostas gerais que a Gemini ou qualquer outro provedor de IA poderia gerar. A principal diferença é que elas se baseiam nos links SERP(Search Engine Results Pages) e no conteúdo desses links.

Em outras palavras, seu conteúdo é respaldado por artigos, páginas e sites do mundo real e, muitas vezes, inclui links para leitura adicional e expansão. Isso é algo que os LLMs geralmente têm dificuldade em fazer.

Portanto, ao extrair programaticamente as visões gerais de IA do Google, você pode criar uma espécie de chatbot SERP com tecnologia de IA que aproveita os resultados reais de SERP para produzir respostas otimizadas para RAG. A ideia é obter respostas baseadas em conteúdo atual e verificável da Web.

Como você aprenderá no final deste artigo, embora essa abordagem seja certamente interessante, há alguns desafios inerentes. Portanto, você pode considerar explorar o nosso guia sobre como criar um chatbot SERP por meio do RAG.

Como extrair a visão geral da IA do Google em Python: Guia passo a passo

Nesta seção do tutorial, vamos orientá-lo no processo de extração da Visão geral do Google AI. Você aprenderá a criar um script Python que:

  • Conecta-se ao Google.
  • Executa uma consulta de pesquisa.
  • Aguarda o carregamento da visão geral da IA.
  • Extrai o HTML do site.
  • Converte o conteúdo em Markdown.
  • Exporta-o para um arquivo de saída

Siga as etapas abaixo para ver como realizar a raspagem do Google AI Overview!

Etapa 1: Configuração do projeto

Antes de começar, certifique-se de ter o Python 3 instalado em seu computador. Caso contrário, faça o download e siga o assistente de instalação.

Abra um terminal e execute os seguintes comandos:

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

Isso criará uma nova pasta google-ai-overview-scraper/ para seu projeto scraper e inicializará um ambiente virtual.

Carregue a pasta do projeto em seu IDE Python favorito. O PyCharm Community Edition ou o Visual Studio Code com a extensão Python são duas boas opções.

Na pasta do projeto, crie um arquivo scraper.py:

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

O scraper.py agora é um script em branco, mas em breve conterá a lógica de coleta de dados.

No terminal do IDE, ative o ambiente virtual. No Linux ou macOS, acione este comando:

source ./venv/bin/activate

Como alternativa, no Windows, execute:

venv/Scripts/activate

Ótimo! Agora você tem um ambiente Python limpo configurado para seu projeto de raspagem.

Etapa 2: Instalar o Playwright

O Google é uma plataforma dinâmica e, com as atualizações recentes, agora exige a execução de JavaScript para carregar totalmente a maioria das páginas. Além disso, criar manualmente um URL válido da Pesquisa Google pode ser complicado. Por isso, a melhor maneira de interagir com a Pesquisa Google é simular o comportamento do usuário em um navegador.

Em outras palavras, para extrair a seção “AI Overview”, você precisa de uma ferramenta de automação de navegador. Isso permite que você inicie um navegador real, carregue páginas da Web e interaja com elas de forma programática, exatamente como um usuário faria.

Uma das melhores ferramentas de automação de navegador para Python é o Playwright. Em seu ambiente virtual Python ativado, instale o Playwright por meio do pacote playwright pip:

pip install playwright

Agora, conclua a instalação do Playwright com:

python -m playwright install

Esse comando fará o download dos executáveis de navegador necessários e de outros componentes que o Playwright precisa para controlar os navegadores da Web.

Para obter mais detalhes sobre o uso dessa ferramenta, leia nosso guia de raspagem da Web com o Playwright.

Muito bom! Agora você tem tudo configurado para começar a extrair a seção Visão geral da IA do Google.

Etapa 3: Navegue até a página inicial do Google

Abra seu arquivo scraper.py, importe o Playwright e inicialize uma instância do Chromium no modo 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()

Esse snippet cria uma instância da Playwright Page, que permite controlar programaticamente uma guia do navegador. Definir headless=True executa o navegador em segundo plano, sem uma GUI. Se estiver desenvolvendo ou quiser depurar, defina headless=False para observar o que o script está fazendo enquanto é executado.

Como o async_playwright é executado de forma assíncrona, o script deve usar o módulo asyncio do Python.

Isenção de responsabilidade: lembre-se de que os novos recursos da Visão geral de IA do Google geralmente são lançados primeiro nos Estados Unidos. Para obter resultados mais precisos, talvez seja necessário geolocalizar sua máquina em uma cidade nos EUA. Para isso, integre o Playwright a um proxy da Web. Especificamente, dê uma olhada em nossas opções de proxy nos EUA.

De agora em diante, presumiremos que você está operando nos Estados Unidos.

Agora, use o método goto() do Playwright para abrir a página inicial do Google:

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

Lembre-se sempre de limpar os recursos fechando o navegador no final do script:

await browser.close()

Junte tudo isso e você obterá:

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())

Fantástico! Você está pronto para fazer scraping de sites dinâmicos como o Google.

Etapa 4: Enviar o formulário de pesquisa

Acesse a página inicial do Google em seu navegador. Clique com o botão direito do mouse na barra de pesquisa e escolha “Inspecionar” para abrir as Ferramentas do desenvolvedor do navegador:

Inspeção da área de texto de pesquisa do Google

A estrutura HTML do Google geralmente usa classes e atributos gerados dinamicamente, que provavelmente serão alterados a cada implantação. Isso faz com que não sejam confiáveis para raspagem, pois seus seletores serão quebrados com o tempo.

Em vez disso, direcione atributos HTML estáveis. Por exemplo, a área de texto de pesquisa tem um atributo aria-label claro:

textarea[aria-label="Search"]

Use o método fill() para selecionar a área de texto de pesquisa e preenchê-la com a consulta de pesquisa do Google:

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

Neste exemplo, a variável search_query é definida como abaixo:

search_query = "What is web scraping?"

Observe que usar uma consulta no estilo de pergunta é uma ótima maneira de fazer com que o Google gere a seção Visão geral da IA. Isso é importante, pois essa seção nem sempre é incluída nas páginas de resultados de pesquisa. Sinta-se à vontade para ajustar a consulta de pesquisa de acordo com seu caso de uso específico.

Em seguida, acione a pesquisa simulando o pressionamento da tecla Enter:

await page.keyboard.press("Enter")

Se você executar o script no modo headful(headless=False) e definir um ponto de interrupção na linha page.close(), isso é o que você verá:

A janela do Chromium controlada pelo Playwright

Observe a seção “AI Overview” (Visão geral da IA) na parte superior da página de resultados. Se ela não for exibida, tente executar novamente o script com uma consulta diferente, mais parecida com uma pergunta. Incrível!

Etapa 5: Extraia a seção de visão geral da IA do Google

Se você explorar como o recurso Visão geral de IA do Google funciona, perceberá que três cenários são possíveis:

  1. Resposta em cache: O snippet da Visão geral da IA já está armazenado em cache e é exibido instantaneamente.
  2. Geração em tempo real: A visão geral da IA é gerada dinamicamente, com um pequeno atraso à medida que o Google processa a consulta.
  3. Sem visão geral da IA: O Google não mostra a seção Visão geral da IA.

Nesta seção, vamos nos concentrar no Cenário 2, em que a Visão Geral da IA é gerada em tempo real. Esse é o caso mais complicado e também abrange o Cenário 1.

Para acioná-lo, tente usar consultas de estilo de pergunta novas ou menos comuns. Por exemplo:

Observe como o Google leva algum tempo para gerar a seção Visão geral da IA

Conforme mostrado acima, a seção Visão geral da IA aparece após alguns milissegundos de processamento. Especificamente, ela pode ser considerada pronta somente quando seu elemento de título contiver o texto “AI Overview” (Visão geral da IA).

Portanto, inspecione o elemento que contém o título AI Overview:

Inspecionando o elemento HTML do título da visão geral da IA

Você pode selecionar o título usando o seletor CSS a seguir:

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

Para garantir que a seção Visão geral da IA esteja presente, aguarde até que esse elemento apareça e contenha o texto correto:

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

Isso aguardará até 30 segundos (30.000 milissegundos) para que o elemento com o texto “ai overview” (sem distinção entre maiúsculas e minúsculas) esteja na página.

Agora que você tem certeza de que a seção Visão geral da IA foi carregada, prepare-se para raspá-la. Na maioria dos casos, uma parte do conteúdo fica inicialmente oculta atrás de um botão “Mostrar mais”:

Inspeção do botão "Mostrar mais

Para extrair a resposta completa, verifique se o botão “Mostrar mais” está presente e clique nele:

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ão se esqueça de importar o PlaywrightTimeoutError, que é acionado quando a função locator() não encontra o elemento especificado:

from playwright.async_api import TimeoutError as PlaywrightTimeoutError

Quando a seção completa estiver visível, inspecione a estrutura HTML para determinar como selecioná-la:

Inspecionar o elemento de conteúdo Visão geral da IA

Como você pode ver, o conteúdo principal da Visão geral da IA pode ser selecionado usando esse seletor CSS:

div[jsname][data-rl] div

Use o código a seguir para localizar o elemento e extrair seu HTML:

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

Se você está se perguntando por que extraímos o HTML em vez de apenas o texto, continue lendo.

Aqui vamos nós! Você conseguiu extrair com êxito a seção Visão geral da IA do Google.

Etapa 6: converter o HTML da visão geral da IA do Google em Markdown

Quando se trata de raspagem da Web, o objetivo mais comum é extrair texto de elementos, não o HTML completo. No entanto, na maioria dos casos, o conteúdo gerado por IA dentro da seção Visão geral do Google AI não é texto simples.

Em vez disso, ele pode incluir marcadores, links, subtítulos e até mesmo imagens. Tratar esse conteúdo como texto simples eliminaria toda essa estrutura e contexto, informações valiosas que você precisa preservar.

Portanto, uma abordagem melhor é tratar a visão geral de IA como HTML bruto e depois convertê-lo em Markdown, um formato ideal para aplicativos de IA.

Para converter o HTML em Markdown, instale o Markdownify em seu ambiente ativado:

pip install markdownify

Importar:

from markdownify import markdownify as md

E utilize-o para a conversão de dados de HTML para Markdown:

ai_overview_markdown = md(ai_overview_html)

Excelente! Tudo o que resta é exportar a visão geral de IA extraída para um arquivo Markdown.

Etapa nº 7: Exportar os dados extraídos

Utilize a biblioteca padrão do Python para abrir um arquivo de saída chamado ai_overview.md e gravar nele o conteúdo Markdown convertido:

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

Isso marca o fim de sua jornada de raspagem do Google AI Overview!

Etapa #8: Juntar tudo

No momento, o scraper.py deve conter:

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())

Uau! Com apenas menos de 50 linhas de código, você acabou de raspar a seção Visão geral da IA do Google.

Inicie o scaper do Google AI Overview acima com:

python script.py

Se tudo correr como esperado, um arquivo ai_overview.md aparecerá na pasta do projeto. Abra-o e você verá algo como:

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. 

Copie o conteúdo Markdown acima e cole-o em um visualizador Markdown como o StackEdit:

Observe a representação do Markdown à direita

Essa é exatamente a versão estruturada, fácil de ler e rica em informações do snippet Visão geral da IA do Google – convertida de HTML bruto para Markdown limpo!

E pronto! Missão concluída.

Desafios na extração da visão geral da IA do Google

Se você continuar executando o script no modo de cabeçalho, em algum momento, provavelmente encontrará essa página de bloqueio:

O CAPTCHA do Google bloqueia seu bot

Ao fazer muitas solicitações automatizadas ou usar um endereço IP com uma pontuação de confiabilidade baixa, o Google detectará sua atividade como um bot e o desafiará com um reCAPTCHA.

Como solução alternativa, você pode tentar contornar os CAPTCHAs em Python. Isso pode funcionar para CAPTCHAs mais simples, mas geralmente falha em versões mais avançadas ou mais recentes do reCAPTCHA, como o reCAPTCHA v3.

Nesses casos, você provavelmente precisará de um serviço premium de solução de CAPTCHA. Outra abordagem é configurar o Playwright para operar em um navegador que não seja o Chromium. O problema é que, por padrão, o Playwright instrumenta o Chromium (ou qualquer outro navegador) de uma forma que pode ser detectada pelos sistemas anti-bot do Google.

Para evitar a detecção, você pode integrar o Playwright com o AI Agent Browser. Esse é um navegador em nuvem compatível com o Playwright e especializado em raspagem da Web e recuperação de dados em fluxos de trabalho agênticos.

Os benefícios dessa abordagem incluem escalabilidade quase infinita e uma redução significativa nos desafios de CAPTCHA. Mesmo quando os CAPTCHAs aparecem, o Agent Browser vem com recursos de solução de CAPTCHA, bem como integração de proxy, permitindo que você localize geograficamente sua raspagem do Google AI Overview em qualquer país ou idioma.

Conclusão

Neste tutorial, você aprendeu o que é a Visão geral de IA do Google e como extrair dados dela. Como você viu, a criação de um script Python simples para recuperar automaticamente esses dados requer apenas algumas linhas de código.

Embora essa solução funcione bem para projetos pequenos, ela não é prática para raspagem em grande escala. O Google usa algumas das tecnologias antibot mais avançadas do setor, o que pode resultar em CAPTCHAs ou proibições de IP. Além disso, o dimensionamento desse processo em muitas páginas aumentaria significativamente os custos de infraestrutura.

Se você precisar de dados SERP do Google para seus fluxos de trabalho de IA, considere usar uma API que forneça dados SERP prontos para IA diretamente, como a API SERP da Bright Data.

Crie uma conta gratuita na Bright Data e obtenha acesso a todas as soluções em nossa infraestrutura de dados de IA!