ImportXML no Google Sheets: Automatize dados da web

Descubra como usar a função IMPORTXML no Google Sheets para extrair dados da web via XPath, mesmo sendo iniciante em planilhas e dados.

Introdução

Quanto tempo você gasta para buscar uma informação de um campo XML? Você já passou minutos (ou horas) copiando e colando dados de sites para o seu painel ou planilha?

Com a função IMPORTXML no Google Sheets você pode reduzir esse tempo drasticamente e automatizar a importação desses dados em poucos cliques.

Neste artigo você vai aprender o que é IMPORTXML, como funciona a sintaxe, como criar consultas XPath fáceis e aplicá-las em exemplos reais.

Ao final, você será capaz de extrair listas, links ou valores específicos de páginas web, usando planilhas — sem depender de programação! Vamos juntos desvendar o IMPORTXML.

O que é a função IMPORTXML e para que serve?

A função IMPORTXML permite que você importe dados de páginas na web que estão estruturadas (em HTML ou XML) diretamente para uma célula no Google Sheets.

Ou seja, ao invés de você abrir o site, copiar os dados, colar na planilha, formatar etc., você usa:

Codigo
=IMPORTXML(url, xpath_query)
  • onde url é o link da página da web que você quer extrair e xpath_query é a expressão que “aponta” para o dado que interessa.

Esse recurso é super útil para: monitorar preços, coletar listas de dados públicos, extrair títulos/meta-descrições de sites concorrentes, entre outros.

Sintaxe da função IMPORTXML

A forma básica da função é:

Codigo
=IMPORTXML(url, xpath_query)

Os parâmetros são:

  • url: o endereço da página web (com “http://” ou “https://”).
  • xpath_query: a expressão XPath (em texto entre aspas) que define qual elemento ou atributo daquela página deve ser extraído.
  • Em alguns casos pode aparecer um parâmetro locale, mas normalmente os dois acima são suficientes.

Importante: ambas as partes — a URL e o xpath_query — geralmente precisam estar entre aspas ou então referenciadas por célula.

Introdução ao XPath

Para usar o IMPORTXML de fato, é preciso entender o básico de XPath. Mas calma: nada muito técnico — só o suficiente para você apontar o que quer extrair.

XPath é uma linguagem que ajuda a navegar por estruturas de documentos HTML ou XML, tratando-os como se fossem uma “árvore” de elementos.

Por exemplo: numa página HTML há tags como <title>, <body>, <div>, <a>, etc. O XPath é a “estrada” para achar uma ou várias dessas tags.

Veja alguns conceitos importantes:

  • //tag: seleciona todos os elementos da tag especificada. Exemplo: //h1 vai selecionar todos os títulos <h1>.
  • tag[@atributo='valor']: seleciona uma tag cujo atributo tem o valor dado. Exemplo: //h1[@class='titulo'].
  • Você pode combinar níveis, por exemplo: //div/span — “todos os span dentro de div”.

Com esses conceitos básicos, você já consegue formar uma consulta XPath que “diz” ao IMPORTXML o que extrair.

Como usar a fórmula IMPORTXML: passo-a-passo

Aqui está um guia direto para começar a usar IMPORTXML no Google Sheets:

  1. Abra um arquivo no Google Sheets e clique em uma célula onde queira começar a importação.
  2. Digite = e comece a escrever a fórmula: =IMPORTXML(.
  3. Primeiro argumento: digite a URL entre aspas. Exemplo: "https://pt.wikipedia.org/wiki/Lista_de_munic%C3%ADpios_de_S%C3%A3o_Paulo" (Esse é só um exemplo).
  4. Insira vírgula para separar o segundo argumento.
  5. Segundo argumento: digite o xpath_query entre aspas. Por exemplo: "//tr/td[1]/a[1]" Isso significa: “na página, selecione todos os elementos tr (linhas de tabela), dentro deles o primeiro td, e dentro desse o primeiro a (link)”.
  6. Feche o parêntese e pressione Enter. A fórmula ficará assim: =IMPORTXML("https://pt.wikipedia.org/wiki/Lista_de_munic%C3%ADpios_de_S%C3%A3o_Paulo","//tr/td[1]/a[1]") Essa fórmula, por exemplo, simplificadamente traria os nomes dos municípios de São Paulo da Wikipédia (supondo que aquela estrutura esteja correta).
  7. Aguarde: o Google Sheets vai buscar os dados. Dependendo da quantidade, pode demorar um pouco. Se a área esperada não estiver vazia ou se houver muitos resultados, você pode ter um erro #REF!.

Resultado esperado: assim que a fórmula for aceita, o resultado (uma matriz de valores) será “estendida” para baixo ou para a direita, conforme os dados. Você verá listas ou valores importados automaticamente.

Identificando o XPath em uma página

Para construir uma expressão XPath eficiente, siga este mini-guia:

  1. Abra a página web que contém o dado que você quer extrair.
  2. Clique com o botão direito sobre o elemento que deseja (texto, link, tabela) → escolha “Inspecionar” ou use o atalho Ctrl + Shift + I.
  3. No painel de desenvolvedor, localize o elemento HTML correspondente.
  4. Clique com o direito no código do elemento → “Copiar” → “Copiar XPath” (ou equivalente no navegador). Esse XPath é uma boa base.
  5. Volte para o Google Sheets e adapte esse XPath conforme o que deseja extrair (por exemplo, trocar índices, remover partes desnecessárias).

Exemplo: se você copiou algo como /html/body/div[3]/table/tbody/tr[2]/td[1]/a, você pode simplificar para algo como //table//tr/td[1]/a se for extrair de todos os itens da coluna.

Ícone ComunidadeComunidade
Impressionadora

Aprenda, em um só lugar, as habilidades mais importantes do mercado — do básico ao avançado. Desenvolva projetos práticos e se torne um profissional pronto para se destacar.

Começar agoraSeta para a direita
Fundo ComunidadeTelas Comunidade

Exemplos de consultas XPath frequentemente usadas

Aqui vão expressões prontas que você pode adaptar conforme seu caso:

  • Para extrair todos os links da página: //a/@href
  • Extrair todos os títulos <h1>: //h1
  • Extrair a meta descrição: //meta[@name='description']/@content
  • Extrair todos os links de perfis sociais (exemplo: linkedin, twitter): //a[contains(@href, 'linkedin.com/in') or contains(@href, 'twitter.com/') or contains(@href, 'facebook.com/')]/@href

Esses exemplos são grandes para exercícios de “puxar dados de listas” ou “monitorar metadados”.

Limitações e boas práticas da função IMPORTXML

Limitações

  • A função só “vê” conteúdo HTML estático. Se o site carrega dados via JavaScript depois da página inicial, IMPORTXML pode não enxergar.
  • Sites com login, autenticação ou bloqueios anti-bot podem impedir o acesso.
  • Se a planilha já tiver dados na região de resultados esperados, pode surgir erro #REF! ou #N/A.
  • A função não se atualiza automaticamente com alta frequência — às vezes é preciso “forçar” a atualização.

Boas práticas

  • Limpe a área onde os resultados irão surgir antes de usar a função.
  • Use URLs completas (com “https://”).
  • Use XPath o mais específico possível para evitar “ruído” ou resultados vacios.
  • Teste em uma planilha sobrando para validar e depois adapte em seu arquivo principal.
  • Documente o caminho XPath (por exemplo: “//table[@class=’dados’]//tr/td[2]/span”) para facilitar manutenção, caso o site mude.
  • Quando precisar de dados complexos ou sites muito dinâmicos, avalie usar scripts (como Google Apps Script) ou outras ferramentas de scraping.

Aplicação prática: exemplo completo

Vamos dizer que você quer extrair de forma automática os nomes das cidades de São Paulo e suas regiões a partir de uma página da Wikipédia. Suponha que a página seja:

Codigo
https://pt.wikipedia.org/wiki/Lista_de_munic%C3%ADpios_de_S%C3%A3o_Paulo

Passos:

  1. No Google Sheets, selecione célula A2 (por exemplo).
  2. Digite: =IMPORTXML("https://pt.wikipedia.org/wiki/Lista_de_munic%C3%ADpios_de_S%C3%A3o_Paulo","//tr/td[1]/a[1]") Isso vai extrair o primeiro link de cada linha de tabela, que nos municípios.
  3. Pressione Enter. Aguarde. Você deverá ver uma listagem automática de nomes de municípios.
  4. Você pode adaptar para extrair a segunda coluna ou outras informações: por exemplo: =IMPORTXML("https://pt.wikipedia.org/wiki/Lista_de_munic%C3%ADpios_de_S%C3%A3o_Paulo","//tr/td[2]") etc.
    Resultado: você terá os nomes dos municípios listados, prontos para análise ou uso em dashboards no Power BI, no Excel ou outra ferramenta.

Este tipo de aplicação é excelente para quem trabalha com operações, dados de território, segmentações ou relatórios que precisam de atualização periódica.

Integração com outras ferramentas e complementos

Embora o foco seja no IMPORTXML, vale saber que outras funções e metodologias podem complementar:

  • A função IMPORTRANGE: para importar dados entre planilhas diferentes.
  • A função IMPORTHTML: útil quando você quer importar uma tabela ou lista inteira de uma página.
  • Scripts no Google Apps Script: quando você precisar de lógica mais complexa, automação ou lidar com sites dinâmicos.
  • Exportar a partir do Google Sheets para outras ferramentas (como Power BI) ou conectar via API.

Se você faz conteúdo educativo ou trabalha com ciência de dados (como é o seu caso), essas conexões podem realmente aumentar sua produtividade — você pode, por exemplo, extrair dados ao vivo para suas visualizações ou relatórios com pouca manutenção.

Conclusão

Agora que você sabe o que é IMPORTXML, como funciona a sintaxe, como construir consultas XPath básicas e como aplicar isso em um exemplo prático, está pronto para usar essa função no seu dia-a-dia de dados.

Seja você estagiário, estudante ou analista que está começando, essa ferramenta pode economizar tempo, evitar erros manuais e deixar seu processo mais ágil e confiável.

Se quiser se aprofundar ainda mais e conectar essas técnicas a dashboards, automações ou projetos reais de ciência de dados, te convido a conhecer a Comunidade Impressionadora, onde exploramos essas ferramentas de forma estruturada, prática e colaborativa.

FAQ – Perguntas Frequentes sobre IMPORTXML

1. O que acontece se a página web for alterada ou os elementos mudarem de tag ou classe?

Se a estrutura da página mudar (por exemplo, a classe da tag mudar ou a tag for removida), o seu xpath_query pode deixar de corresponder a qualquer elemento válido — nesse caso a função IMPORTXML pode retornar erro ou nada. É importante monitorar e atualizar seu XPath quando necessário.

2. Posso usar IMPORTXML para extrair dados de qualquer site?

Quase, mas não sempre. Se o site exige login, carrega conteúdo via JavaScript dinamicamente ou bloqueia bots, IMPORTXML pode falhar. Nestes casos, é preciso recorrer a métodos mais robustos (ex: Apps Script ou web scraping externo).

3. Como faço para que os dados importados sejam atualizados automaticamente?

Por padrão, IMPORTXML não atualiza em tempo real constantemente. Ele se atualiza quando há uma mudança na planilha ou se você edita a fórmula. Para automação completa, pode-se usar um script no Google Apps Script com acionadores de tempo (time-based trigger).

4. Qual a diferença entre IMPORTXML e IMPORTHTML no Google Sheets?

IMPORTHTML é usada para importar tabelas ou listas inteiras de uma página HTML, enquanto IMPORTXML permite consultas mais precisas via XPath (atributos, links, imagens, etc). Se você só precisa puxar uma tabela simples, IMPORTHTML pode ser suficiente.

5. É necessário saber programação para usar IMPORTXML?

Não necessariamente. Para usos básicos basta saber onde está o dado, inspecionar o elemento e copiar/adaptar o XPath. Se você quiser extrair dados muito complexos ou usar lógica personalizada, aí sim programação (Apps Script) pode entrar.

Hashtag Treinamentos

Para acessar outras publicações de Dicas da Hashtag, clique aqui!

Posts mais recentes de Dicas da Hashtag

Posts mais recentes da Hashtag Treinamentos