O Excel permite extrair dados de páginas da Web sem instalar qualquer ferramenta externa. Power Query é o método mais simples: bastam alguns cliques para extrair uma tabela HTML e importá-lo diretamente para uma folha. No caso de páginas mais complexas, o VBA assume o comando e dá-te mais controlo.
Eis como fazer web scraping em ambos os casos.

Como extrair dados de uma página da Internet para o Excel com o Power Query?
Power Query é uma ferramenta integrada no Microsoft Excel (também conhecido como Consulta na Web (em algumas versões) que serve para importar, transformar e analisar dados da Web provenientes de várias fontes. Concretamente, podes:
- Recuperação dados da Web a partir de um site, de um ficheiro ou de uma base de dados.
- Limpar ou transformar esses dados antes de os analisar.
- Carregar os dados automaticamente numa folha de cálculo para que a tua equipa possa trabalhar com informações atualizadas.
É o método mais simples para extrair dados da Web para o Excel, sem escrever uma única linha de código. Eis os quatro passos a seguir.
Etapa 1: Aceder à ferramenta de importação
Dentro Microsoft Excel, vai para o’separador «Dados», e depois clica em Obter dados e, por fim, sobre A partir da web.

Passo 2: Colar o URL da página da Internet
Cola o’URL do site ou da página que contém as informações que pretendes extrair e, em seguida, confirma.

Etapa 3: Navegar no “Navegador”
Abre-se uma janela que apresenta os tabelas detetadas. Power Query identifica automaticamente as tabelas presentes no código da página. Seleciona a tabela que te interessa, por exemplo, uma tabela HTML, para obter um conjunto de dados limpo.

Etapa 4: Carregar os dados numa folha Excel
Clique em Carregar para importar os dados diretamente para a tua folha de cálculo. Ficas rapidamente com uma tabela organizada, pronta a ser analisada.

Para obter as informações mais recentes do site, faz um clique com o botão direito do rato na tua tabela e, em seguida, clica em Atualizar. Desta forma, manténs os dados atualizados quase em tempo real.
O limite que deves conhecer antes de te lançares
Power Query só funciona com páginas HTML estáticas. Se a tabela não aparecer no Navegador, isso deve-se frequentemente ao facto de a página carregar o seu conteúdo em JavaScript : sites em React, Angular, ou dados que aparecem após uma deslocação.
Neste caso, tens duas opções à tua disposição. Podes direcionar diretamente o’API que o site chama em segundo plano, muitas vezes visível nas ferramentas de desenvolvimento do navegador. Caso contrário, passa para o método VBA ou a uma ferramenta específica, como Octoparse.
Como fazer scraping com VBA e macros do Excel?
VBA (Visual Basic for Applications) é a linguagem de programação integrada no Microsoft Excel e a outros programas Microsoft Office. Permite-te:
- Automatizar tarefas repetitivas no Excel.
- Criar macros, pequenos programas que são executados diretamente no teu ficheiro.
- Abrir uma página da Internet, extrair texto ou tabelas e, em seguida, colá-los automaticamente no Excel.
É mais técnico do que Power Query, mas ganhas um controlo avançado : navegação entre várias páginas, gestão de uma sessão com autenticação, recolha de dados que o Power Query não deteta.
Aqui está um exemplo de macro que recupera uma tabela HTML de uma página:
Sub ScraperTableau()
' Declaração dos objetos
Dim http As Object, html As Object
Dim tabela As Object, linha As Object, célula As Object
Dim i As Long, j As Long
' URL da página a ser extraída
Dim url As String
url = "https://www.w3schools.com/html/html_tables.asp"
' Criação de um objeto HTTP
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
http.Send
' Carregar o conteúdo HTML
Set html = CreateObject("HTMLFile")
html.body.innerHTML = http.responseText
' Seleção da primeira tabela encontrada
Set tabela = html.getElementsByTagName("table")(0)
' Ciclo sobre as linhas e colunas
For i = 0 To tabela.Rows.Length - 1
For j = 0 To tabela.Rows(i).Cells.Length - 1
Cells(i + 1, j + 1).Value = tabela.Rows(i).Cells(j).innerText
Next j
Next i
End Sub
Explicação do código:
Dim http como Objeto, html como Objeto: cria os objetos para gerir o pedido web e o conteúdo HTML.url = "...": o URL do site a ser rastreado.http.Open "GET", url, False: envia um pedido HTTP para carregar a página.html.body.innerHTML = http.responseText: insere a resposta HTML num objeto manipulável.Definir tabela = html.getElementsByTagName("table")(0): direciona-se ao primeiro quadro da página.- Dupla volta
Para i … Para j …: lê cada célula da tabela e cola-a na célula correspondente do Excel.
Tenha em atenção uma limitação importante. Este código envia uma pedido HTTP simples via MSXML2.XMLHTTP e recupera apenas o HTML estático devolvido pelo servidor. Ele não consegue executar o JavaScript de uma página. Num site moderno que carrega os seus dados da Web de forma dinâmica, obterás um resultado vazio. Nestes casos, é necessário utilizar um navegador real, por exemplo, com Selenium e Python.
Quando utilizar o VBA para a extração de dados:
- No páginas que exigem autenticação (nome de utilizador e palavra-passe).
- Quando tens de recuperar várias tabelas de uma mesma página ou navegar entre várias páginas.
- Por automatizar a recolha diária de dados através de um botão ou de um disparador programado.
Power Query vs. VBA: qual método escolher para fazer scraping com o Excel?
A escolha entre Power Query e VBA depende das tuas necessidades e da complexidade do site em questão. Aqui está uma comparação rápida para te ajudar a decidir.
| Critérios | Power Query | VBA |
|---|---|---|
| Facilidade de utilização | Muito simples, sem código | Complexo, requer código |
| Flexibilidade | Limitado a dados tabulares | Muito flexível, controlo total |
| Curva de aprendizagem | Fraco | Elevado |
| Tipo de página | Páginas HTML apenas estáticas | Pedidos HTTP, páginas com autenticação |
| Casos de uso | Extração velozes de quadros | Automatização avançada, necessidades específicas |
Na prática, Power Query continua a ser a melhor opção para principiantes e para a maioria das tarefas comuns: bastam quatro passos para importar dados da Web para Microsoft Excel, sem escrever uma única linha de código.
Escolhe VBA apenas quando tiveres uma necessidade específica que Power Query não abrange: páginas complexas, autenticação, automatização avançada. Quanto ao resto, Power Query vai fazer-te ganhar tempo.
Quais são as alternativas ao Excel para web scraping?
O Excel continua a ser prático, mas rapidamente revela as suas limitações quando se trata de grandes volumes de dados da Web. Para um projeto mais ambicioso, outras ferramentas assumem o comando. Algumas funcionam sem código, outros exigem alguns conhecimentos de programação. Também vais encontrar ferramentas gratuitas conforme as tuas necessidades.
Ferramentas «no-code» e «low-code»
Estas ferramentas permitem a recolha de dados na Web sem escrever uma única linha de código. Configuras o teu alvo através de uma interface visual e, em seguida, exportas o resultado para o formato CSV para o abrir diretamente no Excel. Isto é útil para a monitorização de marketing ou o acompanhamento de diversas fontes na Internet.
- Bright Data : uma solução profissional, potente e concebida para as grandes necessidades de uma empresa.
- Octoparse a web scraper sem código com uma interface simples, ideal para quem está a dar os primeiros passos e permite exportar para o Excel com apenas alguns cliques.

Linguagens de programação
Uma língua como Python permite-te extrair dados de sites da Internet de forma muito flexível. Podes navegar em várias páginas automaticamente, gerir os sites com autenticação e garantir uma recolha de dados que seria impossível de realizar com Power Query. Isto é particularmente útil para uma empresa que acompanha os seus concorrentes ou analisa as suas redes de distribuição.
No caso de um projeto complexo, opta pelo recolha de dados da Web com Python e BeautifulSoup. É o método mais eficaz quando a recolha de dados se torna regular ou em grande escala.
Aqui está uma comparação rápida das soluções que superam o Excel em potência, flexibilidade e simplicidade.
| Ferramenta / Linguagem | Custo | Complexidade | Poderoso |
|---|---|---|---|
| Excel (Power Query) | Depende do pacote Office | Fácil | Básico |
| Excel (VBA) | Gratuito (com uma licença Office) | Significa | Significa |
| Bright Data | Assinatura mensal | Significa | Muito elevada |
| Octoparse | Assinatura mensal | Fácil | Significa |
| Python (BeautifulSoup, Scrapy) | Livre | Elevado | Muito elevada |
Que ferramentas e recursos podem ajudar a fazer scraping com o Excel?
Para ir mais além do que Power Query e com o VBA, podes combinar o Excel com ferramentas de terceiros. Estes scrapers exportam os dados para CSV, um formato que o Excel abre diretamente. Desta forma, obténs um conjunto de dados limpo, pronto a ser analisado, sem precisares de escrever uma única linha de código.
Aqui estão duas opções úteis, consoante as tuas necessidades:
- A extensão de raspagem da web para o teu navegador, como Web Scraper sobre Chrome Onde Firefox. É a solução ideal para extrair dados de um site com apenas alguns cliques, sem necessidade de instalações complexas.
- a recolha de dados da Web com Python. Este método requer algum código, mas permite gerir os páginas complexas este Power Query não deteta.
Na prática, escolhe o’extensão para uma necessidade pontual e urgente. Passa para Python sempre que quiseres automatizar uma recolha regular de dados ou processar um grande volume de informação.
A raspagem da Web é legal?
a O web scraping é legal sob determinadas condições. Tudo depende dos Termos e Condições de Utilização do site, da propriedade intelectual e da utilização que fizeres dos dados recolhidos.
Na prática, os dados públicos são geralmente recuperáveis. Por outro lado, assim que se mexe em dados pessoais (nome, e-mail, perfil), introduz no campo do RGPD, mesmo que essas informações estejam disponíveis publicamente na Internet.
Antes de fazer o scraping de um site, verifica duas coisas simples:
- O ficheiro robots.txt do site, que indica as páginas que os robôs estão autorizados ou não a explorar.
- o condições de utilização, que, por vezes, proíbem explicitamente a recolha automatizada de dados.
Para manteres a calma, limita-te a dados não pessoais e respeite o ritmo do site para não o sobrecarregar.





