1
resposta

web scraping html vba

Boa tarde, pessoal Precisava de uma ajuda para entender uma coisa: estou tentando fazer uma raspagem de dados em alguns sites e percebi que há itens que aparecem no inspecionar elemente e não aparecem no codigo HTML. Como eu faço para extrair esses itens?

Obs: estou iniciando na área e não tenho muito conhecimento. Estou fazendo isso usando chatgpt e VBA.

Agradeço a ajuda.

1 resposta

Oi, Rennan! Tudo bem?

A presença de itens que aparecem no "Inspecionar Elemento" mas não no código HTML estático geralmente ocorre porque esses itens são carregados dinamicamente por JavaScript após a página ser carregada. Aqui estão algumas abordagens para extrair esses itens:

  1. Verifique o Carregamento Dinâmico: Utilize as ferramentas de desenvolvedor do navegador para ver se o conteúdo é carregado dinamicamente via JavaScript. Vá até a aba "Network" e veja se há requisições adicionais após o carregamento inicial da página. Isso pode indicar que os dados são carregados através de chamadas API ou scripts.

  2. Raspagem com Puppeteer (JavaScript): Se o conteúdo é carregado dinamicamente, você pode usar uma ferramenta como o Puppeteer, que é uma biblioteca Node.js para controlar o Chrome ou Chromium. O Puppeteer permite que você interaja com a página e espere que o conteúdo dinâmico seja carregado antes de extrair dados.

  3. Raspagem com Selenium (Python): Se você estiver confortável com Python, o Selenium é outra ferramenta poderosa para interagir com páginas web dinâmicas.

  4. Raspagem com VBA: Se você está limitado ao VBA e ao Internet Explorer, você pode tentar usar WinHttp para obter o HTML da página e depois usar o DOM para analisar o HTML. No entanto, o VBA tem limitações significativas para lidar com JavaScript dinâmico.

Essas abordagens devem ajudar você a lidar com sites que carregam conteúdo dinamicamente. Caso tenha outras dúvidas, sinta-se à vontade para perguntar!

Um abraço e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!