Blog

Postado em em 3 de março de 2022

Aprenda como usar IMPORTXML no Google Sheets (com exemplos)

Quanto tempo você gasta para buscar uma informação de um campo XML? Se você utilizar o IMPORTXML, quase nada!

Quer aprender como usar IMPORTXML Google Sheets? Como importar XML pro Excel? Como usar a fórmula IMPORTXML? 

Vem com a gente que temos todas as respostas!

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

A função IMPORTXML importa dados de qualquer um dos vários tipos de dados estruturados, como xml, HTML, CSV e TSV. 

Em outras palavras, IMPORTXML google sheets permite importar dados de sites para fins de scraping de dados na web.

E como usar a fórmula IMPORTXML? Começamos pela sintaxe.

Sintaxe da função IMPORTXML

Para aprender como usar importxml google sheets é preciso conhecer sua sintaxe, veja:

=IMPORTXML(url, xpath_query)

Os argumentos presentes na sintaxe são:

  • IMPORTXML(): é a função IMPORTXML.
  • url: endereço para a página estruturada na web da qual você quer importar dados.
  • xpath_query: consulta xPath para executar os dados estruturados (diz à função o tipo de informação que estamos tentando importar).

Perceba que, para saber como usar importxml google sheets, você deve entender xPath, então vamos lá!

Introdução ao XPath

Tem como usar importxml google sheets sem conhecer Xpath? Não, você precisa saber ao menos o básico sobre essa linguagem de consulta. 

De forma simples, o XPath nos ajuda a navegar por documentos que utilizam marcadores. É o caso dos arquivos XML e HTML.

Vamos pegar o HTML como exemplo. Nele, as informações ficam agrupadas em tags (<title>, <body>, etc.) que se organizam em uma espécie de esquema de arquivos e pastas. Os elementos são hierarquizados em uma visualização em árvore.

Você precisa navegar pelas hierarquias e níveis para encontrar o elemento que procura, certo? O XPath seria uma bússola para esta navegação. Ou seja, consegue localizar pontos específicos do documento HTML com “endereços“.

No IMPORTXML google sheets, o XPath vem para resolver o scraping de dados. Afinal, você não tem interesse em todos elementos de um website, mas somente em uma lista de nomes, um dado ou uma tabela específica.

Como usar a fórmula IMPORTXML?

Nós acabamos de ver a sintaxe da fórmula IMPORTXML. Para utilizá-la, precisamos ajustar o uso de cada argumento. 

Ambos os argumentos devem ser incluídos entre aspas ou ser uma referência a uma célula que contenha o texto apropriado.

A consulta xpath (xpath_query) deve ser personalizada de acordo com o que você está procurando no site. 

Além das aspas, existem outras regras para usar IMPORTXML google sheets:

  • A função IMPORTXML retornará um #REF! Erro se a faixa esperada de resultados não estiver clara para nenhum valor.
  • Para utilizar plenamente o uso da função IMPORTXML, é preciso ter conhecimento básico de HTML ou XML.
  • Quanto maior o número de resultados do site, mais tempo pode levar para terminar a importação de dados.
  • A função IMPORTXML retorna matrizes de informações.

Quer um exemplo simples de como importar XML para Google Sheets? Imagine que você quer identificar todas as cidades de São Paulo e suas regiões. Você usará o site da Wikipédia.

É inviável digitar as cidades manualmente, pois são centenas. Mas com a função IMPORTXML, é possível resolver o problema automaticamente. O passo a passo é básico:

  1. Clique em qualquer célula para torná-la a célula ativa (ex.: A2).
  2. Digite o sinal igual ‘=’ para iniciar a função e siga-a com o nome da função (IMPORTXML).
  3. Digite parênteses ou aperte a tecla Tab.
  4. Digite ” e coloque o endereço do site. Ex.: “https://pt.wikipedia.org/wiki/Lista_de_munic%C3%ADpios_de_S%C3%A3o_Paulo
  5. Digite a vírgula para indicar que terminou de digitar o primeiro argumento.
  6. Digite o segundo argumento entre aspas (“xpath_query”), como /tr/td[1]/a[1].
  7. Aperte Enter ou Tab, e você verá a sequência resultante ou o valor de devolução da função IMPORTXML, que são as cidades da fonte do seu site.

Ok, aprendi como usar IMPORTXML google sheets. Mas como encontrar o XPath na página?

Identificando o XPath em uma página

Para encontrar qual é o caminho XPath em uma página da web, você deve utilizar o WebInspector. É uma ferramenta de inspeção no navegador que acha o elemento e copia o XPath. O comando é o seguinte:

Selecione o texto que deseja copiar > botão direito do mouse > “Inspecionar Elemento” ou Ctrl + Shift + I > botão direito do mouse sobre o código HTML correspondente > “Copiar” > “Copiar XPath”.

Construindo a consulta XPath

Aprendeu como usar ImportXML? Ainda falta algo, certo? Precisamos saber como construir a consulta XPath e utilizar os operadores e expressões. 

Para criar seu próprio argumento xpath_query, você deve saber:

  • Barra dupla (“//”): significa selecionar todos os elementos da tag que é escrita depois dela. Se for //h1, significa selecionar todos os elementos h1. Se for //p, significa todo o elemento “p”, e assim por diante.
  • Classe ([@class=”]): significa que você só quer selecionar os elementos que atendem a este critério dado. Por exemplo, //h1[@class=’title’] apenas importa os elementos h1 cujo atributo de classe é “título”.
  • Elementos: é possível definir os elementos em mais níveis à medida que eles aparecem na fonte do site. Por exemplo, //h1/span vai olhar para os elementos h1 e, em seguida, os elementos de extensão dentro deles.

Exemplos de consultas XPath frequentemente usadas

Para que eu vou utilizar XPath? Existem muitas finalidades para essas consultas. Os profissionais de marketing, por exemplo, utilizam XPath de inúmeras maneiras, veja:

  • //a[contains(@href, ‘linkedin.com/in’) or contains(@href, ‘twitter.com/’) or contains(@href, ‘facebook.com/’)]/@href – extrai perfis de redes sociais.
  • //a[contains(@href, ‘mailTo:’) or contains(@href, ‘mailto:’)]/@href – extrai endereço de e-mail da página.
  • //a[not(contains(@href, ‘example.com’))]/@href – extrai todos os links externos em uma página.
  • //a[contains(@href, ‘example.com’)]/@href – extrai todos os links internos em uma página.
  • //meta[@name=’description’]/@content – extrai a meta descrição.
  • //link[@rel=’canonical’]/@href – busca qualquer canônico.
  • //*[@itemtype]/@itemtype – busca tipos de esquema.
  • //@href – extrai todos os links em uma página.
  • //*[@hreflang] – busca atributos hreflang.
  • //title – extrai todos os títulos.
  • //h1 – extrai todos os h1s.

Como fazer automação web fora do Google Sheets

Além de utilizar o IMPORTXML Google Sheets, você pode optar por fazer a automação web pelo Excel e pelo Python.

Excel para automação web

O VBA Web Scraping no Excel cumpre o mesmo objetivo da função IMPORTXML: economizar o tempo do profissional na extração de informações de um site.

Com o Excel, você consegue coletar dados de fontes mais precisas, validar hipóteses e resultados e gerar ideias valiosas de negócio.

Conheça nosso minicurso de Automação WEB em VBA!

Python para automação e web scraping

Utilizar o Python para automação e webscraping também é uma ótima maneira de facilitar a sua vida para evitar ações repetitivas.

Para isso, você precisará utilizar o Selenium, uma biblioteca que permite ao Python abrir o navegador para executar os comandos. 

A interação do Python com o Selenium precisa de um webdriver, ok? Essa é só uma noção de que é possível fazer automação web fora do Google Sheets. 

Quer conhecer melhor a ferramenta? Aprenda Python em um Minicurso Gratuito!

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador