Web Scraping Tables usando xpath

Olá Pessoal,

Feliz 2021 para todos…que tudo passe bem este ano!

Estou tentando um scraping de uma tabela, mas estou fazendo algo de errado.

Qualquer ajuda seria muito bem vinda.

O problema:: Quero importar para um data.frame todos os 444 Fundos de Investimentos disponíveis no site da XP.

Estou usando o xpath através da inspeção da página. Já tentei algumas variações do xpath abaixo de acordo com o movimento do mouse no código e a seleção equivalente na página, mas nada funcionou.

xp_url_fundos <- "https://www.xpi.com.br/investimentos/fundos-de-investimento/lista/#/"

table_xpath <- '//*[@id="investment-funds"]/div/div/div[2]/article/article/section[2]'

A leitura desta url e dos nodes selecionado pelo xpath copiado está por algum motivo vindo vazia.

 xp_url_fundos %>%
 read_html %>%
 html_nodes(xpath=table_xpath)

{xml_nodeset (0)}

Com isso não consigo usar da sequência para criar o data.frame.

Não sei se tem algum detalhe neste tipo de página que invalida essa abordagem…

Obrigado,

Fabio

Fabio,

Não cheguei a testar o seu xpath, mas talvez seja necessário usar webdriver ou selenium para raspar esse tipo de site :frowning:

Oi Caio, obrigado, mas como seria? Como fazê-lo? Teria que ser em Python? (or Ruby, Java, C#)…ou via RSelenium mesmo.

Fabio,

Infelizmente não temos nenhum material pronto sobre isso, mas pode fazer em R mesmo! Sugiro começar pela documentação do webdriver: https://github.com/rstudio/webdriver.