🌐 Web ScrapingPro Plano

SCRAPE_BY_CSS_PATH

Extrai conteúdo de uma página web usando um seletor CSS.

Assinatura da Fórmula
=SCRAPE_BY_CSS_PATH(url, selector, [attribute], [renderJs])

Retorna: string or 2D array (multiple matches returned as separate rows)

Visão Geral

SCRAPE_BY_CSS_PATH extrai conteúdo de qualquer página web usando seletores CSS padrão, a mesma sintaxe de consulta que desenvolvedores web usam para estilizar elementos HTML. Aponte para uma URL, forneça um seletor CSS como ".price", "#title" ou "h1", e ele retorna o conteúdo de texto correspondente diretamente na sua planilha. Quando múltiplos elementos correspondem ao seletor, cada resultado é retornado como uma linha separada, facilitando extrair listas completas de produtos, links ou pontos de dados em uma única chamada.

Parâmetros

ParâmetroTipoObrigatórioDescrição
urlstringSimA URL completa da página web a ser extraída (deve incluir https:// ou http://).
selectorstringSimSeletor CSS direcionado ao(s) elemento(s) a extrair. Suporta sintaxe CSS padrão incluindo classes (.class), IDs (#id), elementos (h1), atributos ([data-price]), combinadores (div > p) e pseudo-seletores (li:first-child).
attributestringNãoAtributo HTML opcional a extrair no lugar do conteúdo de texto. Valores comuns: "href" (URLs de links), "src" (fontes de imagem/script), "alt" (texto alternativo de imagem), "data-*" (atributos de dados personalizados), "content" (valores de meta tags).
renderJsbooleanNãoOpcional. Defina como TRUE para renderizar JavaScript antes de extrair. Necessário para aplicações de página única e conteúdo carregado dinamicamente. Mais lento e usa mais créditos que o modo padrão.

Exemplos

1

Extrair o título principal de uma página

Retorna o conteúdo de texto do primeiro elemento h1 na página. Útil para verificar rapidamente títulos de página em uma lista de URLs.

fx
=SCRAPE_BY_CSS_PATH("https://example.com", "h1")

Saída

Example Domain
2

Obter todas as URLs de links de navegação

Extrai o atributo href de cada tag anchor dentro de um elemento nav. Retorna múltiplas linhas se houver múltiplos links.

fx
=SCRAPE_BY_CSS_PATH("https://example.com", "nav a", "href")

Saída

/about
/products
/blog
/contact
3

Extrair preços de produtos de uma página de e-commerce

Direciona elementos de preço aninhados dentro de cards de produto. Retorna todos os preços correspondentes como linhas separadas para fácil comparação.

fx
=SCRAPE_BY_CSS_PATH("https://store.example.com/shoes", ".product-card .price")

Saída

$89.99
$129.00
$64.50
$199.99
4

Extrair meta description para auditoria de SEO

Usa um seletor de atributo para encontrar a tag meta description e extrai seu atributo content. Essencial para auditorias de SEO em escala.

fx
=SCRAPE_BY_CSS_PATH("https://example.com", "meta[name='description']", "content")

Saída

This is the meta description of the example page.
5

Extrair listagens de produtos renderizadas com JavaScript

Habilita a renderização de JavaScript para extrair de uma aplicação de página única. O terceiro parâmetro vazio pula o argumento de atributo, e TRUE ativa o navegador headless.

fx
=SCRAPE_BY_CSS_PATH("https://spa-store.example.com", ".item-title", , TRUE)

Saída

Wireless Headphones
USB-C Hub
Laptop Stand

Casos de Uso

E-commerce

Monitoramento de Preços de Concorrentes

Configure uma planilha que extrai páginas de produtos de concorrentes diariamente usando seletores CSS direcionados a elementos de preço. Acompanhe tendências de preços ao longo do tempo e receba alertas quando concorrentes mudarem sua estratégia de preços.

Marketing Digital

Auditoria de Títulos e Meta Tags de SEO

Audite centenas de páginas extraindo suas tags de título, meta descriptions e estruturas de cabeçalhos usando seletores CSS. Identifique meta dados ausentes ou duplicados, títulos muito longos e páginas sem hierarquia adequada de cabeçalhos.

Recrutamento

Agregação de Vagas de Emprego

Extraia sites de vagas e páginas de carreiras de empresas para agregar oportunidades de emprego em uma única planilha. Extraia títulos de cargo, localizações, faixas salariais e links de candidatura usando seletores CSS direcionados para cada ponto de dados.

Imóveis

Rastreamento de Anúncios Imobiliários

Monitore sites de anúncios de imóveis extraindo preços, endereços, metragem quadrada e datas de listagem. Construa uma planilha de análise de mercado abrangente que se atualiza com inventário atual e dados de preços.

Pesquisa

Coleta de Dados para Pesquisa Acadêmica

Colete dados estruturados de bases de dados de pesquisa, portais governamentais e sites institucionais. Extraia títulos de publicações, nomes de autores, datas e resumos em planilhas organizadas para revisões de literatura.

Gestão de Marca

Prova Social e Monitoramento de Avaliações

Acompanhe avaliações e classificações de produtos em múltiplas plataformas extraindo pontuações de avaliações, contagens de avaliações e classificações por estrelas. Agregue dados do Amazon, G2, Trustpilot e sites de avaliações específicos do setor.

Dicas Profissionais

DICA

Use o recurso "Copiar seletor" das DevTools do navegador como ponto de partida, mas simplifique o seletor para torná-lo mais resiliente a mudanças na página. Um seletor como ".product-price" é mais estável que "div.container > div:nth-child(3) > span.product-price".

DICA

Combine com ARRAYFORMULA para extrair o mesmo seletor em múltiplas URLs listadas em uma coluna. Por exemplo, =ARRAYFORMULA(SCRAPE_BY_CSS_PATH(A2:A10, "h1")) extrairá o h1 de cada URL nas células A2 a A10.

DICA

Ao extrair sites de e-commerce, direcione atributos de dados como [data-price] ou [data-product-id] em vez de elementos visuais, pois os atributos de dados são mais estáveis e contêm valores mais limpos.

DICA

Teste seu seletor CSS no console do navegador primeiro usando document.querySelectorAll("seu-seletor") para verificar se corresponde aos elementos corretos antes de usá-lo na planilha.

DICA

Para páginas que carregam conteúdo em estágios, a opção renderJs aguarda o evento de carregamento inicial da página. Se o conteúdo carregar após interações adicionais do usuário (como clicar em um botão "Carregar mais"), pode não ser capturado.

Por padrão, a função retorna o conteúdo de texto visível dos elementos correspondentes. Você pode opcionalmente especificar um parâmetro de atributo para extrair atributos HTML específicos, como "href" para URLs de links, "src" para fontes de imagens, ou qualquer atributo de dados personalizado. Isso a torna incrivelmente versátil para tarefas como construir inventários de links, coletar URLs de imagens ou extrair atributos de dados estruturados.

Para sites modernos que dependem fortemente de JavaScript para renderizar seu conteúdo (aplicações de página única, sites React/Vue/Angular, catálogos de produtos carregados dinamicamente), habilite o parâmetro renderJs. Isso instrui o scraper a usar um navegador headless que executa completamente o JavaScript antes de extrair o conteúdo, garantindo que você capture dados que de outra forma seriam invisíveis no código HTML fonte. Note que a renderização de JavaScript é mais lenta e consome mais créditos, então habilite apenas quando o modo padrão retornar resultados vazios ou incompletos.

SCRAPE_BY_CSS_PATH é ideal para auditorias de SEO, pesquisa competitiva, monitoramento de preços, agregação de conteúdo e qualquer fluxo de trabalho onde você precise extrair dados estruturados da web para o Google Sheets sem escrever código.

Erros Comuns

No matches found

Causa: O seletor CSS não corresponde a nenhum elemento na página. Isso frequentemente acontece quando o conteúdo da página é carregado via JavaScript mas renderJs não está habilitado, ou o seletor tem um erro de digitação.

Correção: Verifique se o seletor funciona no console DevTools do navegador com document.querySelectorAll("seu-seletor"). Se os elementos existem no navegador mas a função não retorna nada, habilite renderJs definindo o quarto parâmetro como TRUE.

Error: URL and selector are required

Causa: Um ou ambos os parâmetros obrigatórios (url e selector) estão vazios ou ausentes.

Correção: Certifique-se de que tanto a URL quanto o seletor CSS estejam fornecidos. A URL deve ser um endereço completo incluindo o protocolo (https:// ou http://). Verifique se as referências de célula não apontam para células vazias.

Error: Failed to fetch URL

Causa: O site alvo bloqueou a requisição, a URL é inválida, o servidor está fora do ar, ou ocorreu um timeout de rede.

Correção: Verifique se a URL é acessível no seu navegador. Alguns sites bloqueiam requisições automatizadas; tente uma página diferente no mesmo site. Verifique se a URL inclui o protocolo (https://). Se o site requer JavaScript, tente habilitar renderJs.

Perguntas Frequentes

Abra a página web alvo no Chrome ou Firefox, clique com o botão direito no elemento que deseja extrair e selecione "Inspecionar" ou "Inspecionar elemento". Isso abre as ferramentas de desenvolvedor do navegador com o elemento HTML destacado. Você pode clicar com o botão direito no elemento destacado no painel Elementos e escolher "Copiar > Copiar seletor" para obter um seletor CSS gerado automaticamente. Para seletores mais confiáveis, procure por nomes de classe únicos ou IDs no elemento. Por exemplo, se você vir <div class="product-price">R$29.99</div>, seu seletor seria ".product-price". Evite seletores auto-gerados muito específicos com muitos elementos aninhados, pois eles quebram facilmente quando o layout da página muda.

Por padrão, SCRAPE_BY_CSS_PATH retorna o conteúdo de texto visível do elemento correspondente, que é o que um usuário vê na página. Quando você especifica um parâmetro de atributo, ele extrai o valor daquele atributo HTML. Por exemplo, uma tag anchor <a href="https://example.com" class="link">Clique aqui</a> retornaria "Clique aqui" sem um atributo, mas retornaria "https://example.com" se você definir o atributo como "href". Atributos comuns incluem "href" para links, "src" para imagens, "alt" para descrições de imagens, "content" para meta tags e quaisquer atributos personalizados "data-*".

Habilite renderJs quando o conteúdo que você deseja extrair é carregado dinamicamente via JavaScript. Sinais de que você precisa incluem: a função retorna resultados vazios ou "Nenhuma correspondência encontrada" mesmo que você possa ver o conteúdo no seu navegador; o site é uma aplicação de página única construída com React, Vue, Angular ou frameworks similares; o conteúdo carrega após rolar ou após um atraso; ou a página mostra um spinner de carregamento antes do conteúdo aparecer. O modo padrão é mais rápido e econômico, então tente sem renderJs primeiro e habilite apenas se necessário.

Cada chamada para SCRAPE_BY_CSS_PATH direciona um seletor CSS, mas esse seletor pode corresponder a múltiplos elementos do mesmo tipo (todos retornados como linhas). Para extrair diferentes tipos de elementos (por exemplo, tanto títulos quanto preços), faça chamadas de função separadas com seletores diferentes. Você pode combinar seletores CSS com vírgulas para corresponder a múltiplos tipos de elementos em uma chamada, por exemplo ".title, .price", mas os resultados serão intercalados. Para extração de dados estruturados onde você precisa manter títulos emparelhados com seus preços, use colunas separadas com um seletor por coluna.

A função retorna até 500 elementos correspondentes por chamada. Se a página contiver mais de 500 elementos correspondentes, apenas os primeiros 500 são retornados. Para a maioria dos casos de uso isso é mais do que suficiente. Se você precisar extrair páginas com números extremamente grandes de elementos, considere usar seletores CSS mais específicos para reduzir os resultados, ou use parâmetros de paginação se o site alvo os suportar.

SCRAPE_BY_CSS_PATH acessa páginas como um visitante anônimo sem cookies ou dados de sessão. Não pode extrair conteúdo atrás de muros de login, paywalls ou barreiras de autenticação. O scraper não suporta envio de cookies, headers ou credenciais. Para conteúdo autenticado, você precisaria encontrar uma API pública para esse serviço ou usar uma fonte de dados alternativa. Alguns sites oferecem APIs JSON públicas ou feeds RSS que podem fornecer os dados que você precisa sem autenticação.

O scraper faz requisições HTTP similares a um navegador web e não verifica nem aplica automaticamente as regras do robots.txt. No entanto, você deve revisar e respeitar o arquivo robots.txt do site alvo e os termos de serviço antes de extrair. Extração excessiva pode levar ao bloqueio do seu IP. Use a função responsavelmente, evite extrair em alta frequência e respeite os limites de taxa. Unlimited Sheets aplica sua própria limitação de taxa para prevenir abusos.

SCRAPE_BY_CSS_PATH é uma função independente que substitui a necessidade de IMPORTXML ou IMPORTHTML em muitos casos. Ao contrário de IMPORTXML, ela usa seletores CSS (que são mais intuitivos para a maioria dos usuários) em vez de expressões XPath. Ao contrário de IMPORTHTML, pode direcionar qualquer elemento na página, não apenas tabelas e listas. Você pode usar SCRAPE_BY_CSS_PATH junto com funções nativas do Google Sheets na mesma planilha sem conflitos.

Funções Relacionadas

Comece a usar SCRAPE_BY_CSS_PATH hoje

Instale o Unlimited Sheets para obter SCRAPE_BY_CSS_PATH e outras 41 funções poderosas no Google Sheets.