Web Scraping com Excel VBA - Extraindo Dados de Sites com Varias Paginas

preview_player
Показать описание

👉Enquanto ferramentas como o Power Query do Excel são incrivelmente úteis para extrair dados de tabelas HTML, elas têm suas limitações. O que acontece quando a informação que você deseja não está em uma tabela? Ou quando está distribuída por várias páginas? É aqui que o web scraping com VBA entra em jogo, oferecendo uma flexibilidade que outras ferramentas não conseguem alcançar. Neste post, exploraremos as maravilhas do web scraping usando VBA, especialmente focando em como extrair informações de sites com múltiplas páginas.

👉O que é Web Scraping?
Web scraping é o processo de extrair e coletar dados de páginas da web de forma automatizada. Utilizando softwares ou scripts específicos, é possível navegar por sites, acessar informações e armazená-las em formatos desejados, como tabelas ou bancos de dados, permitindo análises e utilizações diversas desses dados.

👉Vantagens
Integração Nativa com Excel: Visto que o VBA é a linguagem de programação integrada do Excel, não há necessidade de ferramentas ou softwares adicionais. Isso permite uma transição suave dos dados coletados para análises, gráficos e relatórios no Excel.
Independente de Navegador: Ao contrário de algumas ferramentas de web scraping que dependem de extensões de navegador ou automação de navegador, o VBA extrai dados diretamente, sem a necessidade de abrir ou interagir com um navegador web.
Não Requer Tabelas HTML: Enquanto algumas ferramentas, como o Power Query, são limitadas à extração de dados de tabelas HTML, o VBA permite acessar e extrair qualquer elemento de uma página da web, independentemente de sua estrutura.
Sem Downloads Adicionais: Não há necessidade de baixar ou instalar softwares ou bibliotecas adicionais. O VBA já está integrado ao Excel, tornando-o pronto para uso.

👉Desvantagens
Conhecimento Técnico: Para aqueles que não estão familiarizados com programação ou VBA, pode haver uma curva de aprendizado íngreme para começar.
Falta de Suporte para JavaScript: O VBA não pode interagir diretamente com páginas que carregam conteúdo dinamicamente usando JavaScript. Sites que dependem fortemente de AJAX ou frameworks modernos podem apresentar desafios.
Limitações de Plataforma: O VBA é específico para o Microsoft Office, o que significa que não é uma solução multiplataforma. Usuários de Mac ou Linux não terão a mesma experiência ou funcionalidade.

👉Pré-requisitos
Conhecimento Básico de VBA: Ter uma compreensão básica da linguagem VBA é fundamental. Isso não apenas facilita a compreensão do código que você estará escrevendo ou modificando, mas também permite que você solucione problemas ou personalize o código para atender às suas necessidades específicas.

Entendimento de HTML: Como o objetivo é extrair dados de páginas da web, ter uma noção de como as páginas da web são estruturadas (usando HTML) é essencial. Isso ajudará a identificar e acessar os dados que você deseja extrair.

Excel e Ambiente de Desenvolvimento: Certifique-se de que seu Excel esteja com a guia desenvolvedor visível para poder acessar o Editor VBA (ou use o atalho ALT+F11).

Conhecimento dos Termos de Uso do Site: Antes de começar a raspar um site, é vital entender e respeitar seus termos de uso. Alguns sites proíbem explicitamente o web scraping, e ignorar essas regras pode levar a consequências legais.

Capitulos

00:00 Intro
01:21 Identificar a Fonte de Dados
01:44 Preparação da Planilha
02:07 Adicionar Referências Necessárias
02:10 Escrever o Código de Web Scraping
03:04 Definindo Variáveis
04:02 Definindo a Planilha de Destino
04:21 Definindo o Número de Páginas a Serem Raspadas
05:30 Estabelecendo Conexão e Recuperando Dados da Página
08:39 Extração e Armazenamento dos Dados na Planilha
09:55 Tratamento de Erros

#webscraping #excel
Рекомендации по теме
Комментарии
Автор

A pedagogia do Marcelo está muito acima do que se encontra no mercado. E este é mais um exemplo. Quem quiser aprender realmente com metodologia veja o curso dele.

josecasimiropinheiro
Автор

agora eu entendo o porque é necessário paralisar o desenvolvimento de uma linguagem, se o VBA continuasse a evoluir diariamente seria um pareo duro de mais para o surgimento de novas linguagens e todo o comércio que esse surgimento propicia. VBA ainda é muito contemporâneo e mágico na mão do Alquimista da programação o Mestre Nascimento. Parabéns!!!

cristianluisteixeirafrc
Автор

Marcelo,
Dentro de todos os devs em VBA, você é o melhor e sua didática e talento são incríveis. Meus parabéns!

samuel.oliveiraBRA
Автор

Cara.. essa dica foi matadora.. amanhã mesmo vou tentar aplicar no meu trabalho pq preciso pegar os preços de uns produtos no mercado livre. Pensei que ia ter que fazer isso com Python, mas a sua dica chegou em ótima hora.
Super obrigado por compartilhar.
😎

hardwarelouco
Автор

Ótimo conteúdo como sempre, valeu Nascimento.

OrganicSheets
Автор

muito bom! Cria mais vídeos com esse proposito amigo!

andrelucasdeoliveiramoreir
Автор

Não tenho duvida nenhuma muito legal como sempre, só queria resolver o problema do menu que o botão não funciona

pateznina
Автор

Fantástico!!
Simples rapido e objetivo.
Grato d+

Até demorei um pouco para conseguir ajustar aqui rsrs, mas no fim deu certo e ainda consegui fazer algumas melhorias para minha realidade..

Só não consegui ainda migrar este cod para as pesquisas google, teria algum material?

Mas desde já vlw

adminestaut
Автор

Conteúdo top. Obrigado por compartilhar.

AgnaldoPinheiro
Автор

Achei maneiro! vlw, tem algum vídeo que explica como inserir texto na página? seguindo seu exemplo, eu preencher a busca com dados da planilha?

wagnermartins
Автор

Grande Marcelo. Como sempre conteúdo de primeiríssima qualidade. Sucesso!!

alexalvessantos
Автор

Sempre um conteúdo muito limpo e bem explicado!

samuelguilherme
Автор

Porra muito bom. E agora esse mesmo conceito consegue usar ora raspar dados de 10 paginas denuma vez por exemplo?

lojautl
Автор

Gostei demais da explicação. Parabéns. Estou procurando ajuda para fazer o contrário, preciso inserir um valor em um campo HTML. Por exemplo, tenho o seguinte form:

<input type="text" name="Nr_Pedido" size="9" maxlength="9">

E preciso usar o VBA para preencher esse campo. Como faria?

arthurtrindade
Автор

Excelente.. só uma duvida daria para usar o Chrome ou somente mozilla ?

AdrianoMateucci-no
Автор

Muito bom o conteúdo. Eu gostaria de saber se existe aplicabilidade desse método para automação de pesquisa em uma página. Trabalho com pesquisas de registros de medicamentos no site da anvisa, teria uma maneira de automatizar essas pesquisas e salvar o arquivo em pdf?

ronaldrox
Автор

Obrigado por compartilhar seu conhecimento, me ajudou muito, fiz e deu tudo certo. Porém ainda preciso do link do anúncio, ou pelo menos que a informação na planilha traga o link ou hiperlink em uma das células, para que eu consiga visitar o anúncio posteriormente. Como faço para consegui extrair a informação do link? Por exemplo, esse link que está em ( href)

Ronaldoengcivil
Автор

Nascimento, sua didática é boa demais. Aqui já deu certo pegar os dados do ML, apenas nome e preço.
Se vc puder, nos ensinar por favor, como pegar o link do texto. Exemplo: no ML tem o nome do produto e um link e tô precisado além do nome e do preço, pegar o link no mesmo elemento Nome, mas não estou acertando.
Desde já muito obrigado.

hardwarelouco
Автор

Marcelo, desculpa minha falta de informacao... mas fiquei em duvida na parte do HEADER. Voce disse que poderia ser qualquer um, mas eu não sei o que isso faz e pra que serve. Eu não uso mozila no computador, tem problema fazer igual vc fez? Se quisesse usasr Chrome no lugar, como ficaria?

paulocesarzc
Автор

No site que quero extrair os dados as classes ficam alterando o nome, só tem atributos data-id, como trabalha capturando eles para selecionar o elemento?

Diegowell