O ImportXML é uma função existente no Google Drive que permite, entre outras coisas, alimentar sua planilha de ações com dados fundamentalistas disponíveis na internet.
A função ImportXML importa vários tipos de dados estruturados, incluindo XML, HTML, CSV, TSV e XML de feeds RSS e Atom.
Para usar essa função é necessário ter uma conta no Google e acessar o Google Planilhas. Se você for usuário do Excel não terá dificuldades.
A função é redigida da seguinte forma: IMPORTXML("url";"consulta_xpath")
Aqui vamos usar a função para alimentar a Planilha Básica de Investimentos em Ações com dados fundamentalistas do site GuiaIvest.
Como exemplo prático, ao buscarmos o DPA (Dividendos Pagos por Ação) do Banco do Brasil no site GuiaInvest a função função ficaria assim:
=ImportXML("http://www.guiainvest.com.br/raiox/default.aspx?sigla=bbas3";"//*[@id='lbDividendoPagoAcaoAtual']")
Na primeira parte é copiada a URL da página entre aspas, na segunda, também entre aspas, fica o XPath.
O XPath é uma linguagem de consulta usada para escolher peças de informação a partir de páginas na web.
A configuração da função ImportXML é bastante simples, para isso basta seguir o passo a passo abaixo.
Passo 1. Acesse o Google Planilhas.
Passo 3. Abra a página da internet de onde serão colhidos os dados. No nosso caso, utilizaremos o GuiaInvest e Bastter.
Passo 4. Copie a URL da página para a primeira parte da função.
Passo 5. Clique com o botão direito do mouse sobre o índice a ser copiado para a planilha, por exemplo, o DPA (2,0756) na aba Raio X do Banco do Brasil no site GuiaInvest.
Passo 6. Depois, clique em "Inspecionar".
Passo 7. Clique com o botão direito do mouse sobre os códigos correspondentes ao dado a ser alimentado (DPA), depois em Copy e, finalmente, em Copy XPath.
Passo 8. Cole o código fonte copiado para a segunda parte da função.
O dado a ser copiado já aparecerá destacado sob uma faixa cinza, mas, na dúvida, basta passar o mouse sobre os códigos e as informações da página se destacará.
Também é possível copiar dados do site Bastter.
DPA do Banco do Brasil: =ImportXML("http://www.guiainvest.com.br/raiox/default.aspx?sigla=bbas3";"//*[@id='lbDividendoPagoAcaoAtual']")
Observação 1: Tanto a URL quanto o XPath devem ser escrito entre aspas. Ocorre que às vezes o código fonte contém itens entre aspas. Nesse caso, para não dar erro, substitua as aspas duplas existentes (") por aspas simples (').
Observação 2: Não consegui copiar dados do site fundamentus.com.br .
https://support.google.com/docs/answer/3093342?hl=pt-BR
http://zoomspring.com/learn-importxml-tutorial/
http://www.agenciamestre.com/seo/importxml-guia-de-uso-e-exemplos-praticos/
https://www.distilled.net/blog/distilled/guide-to-google-docs-importxml/
Post mt interessante!
ResponderExcluirGrande Uorrem,
ExcluirObrigado pela visita.
Magina, eu que agradeço o post, vou fazer uma coisa legal aqui com esta dica.
ExcluirAbraço!
Boa noite Aroldo, realizei algumas alterações na planilha, como a evolução do lucro das ações em carteira em (3y, 5y, 8y, 10y, 15y).
ResponderExcluirTambém modifiquei e automatizei campos que necessitavam da alteração manual caso alguma ação for modificada.
Se tiver alguma forma de contato para trocar ideia sobre o que fiz e puder compartilhar da mesma forma que você o fez agradeço!
Jonatan
Caro Jonatan,
ExcluirObrigado pelo comentário.
Vejo que seus conhecimentos em planilhas são bem mais avançados que os meus.
Gostaria muito de de ver suas alterações que você aplicou na planilha.
Meu e-mail para contato é aroldobatista@gmail.com .
Este comentário foi removido pelo autor.
ExcluirOlá Aroldo, excelnte planilha, obrigado por compartilhar.
ExcluirOi Jonatan, poderia me enviar sua planilha também?
boinvestidor@gmail.com
ExcluirEste comentário foi removido pelo autor.
ExcluirBom dia. Poderia Enviar por favor? Tentei automatizar e não conseguir. Gostaria de verificar como você fez. Muito obrigado
Excluir
ResponderExcluirGrande Aroldo!!
ResponderExcluirisso era o que eu procurava, um modo de ganhar tempo nas análises e comparações. Parabéns!
Olá Wellyton,
ExcluirObrigado pela visita e fico feliz em saber que o poste lhe foi útil.
Abs
Como consigo essa planilha...Facilitaria muito a vida de um iniciante! antonioclaudio_01@hotmail.com
ResponderExcluirAroldo, excelente dica, obrigado. Quando há pedidos de muitos dados (por exemplo: o VPA de 60 ações), a função pára de funcionar ou fica instável. Descobri que é problema da função mesmo. Como estou trabalhando em uma lista à la Fórmula Mágica, resolvi não usar mais a função importxml, que estava me dando dor de cabeça. Ainda não testei outras funções.
ResponderExcluirObrigado,
abraço
Aroldo, usei sua planilha como base para construir a minha, ainda estou em desenvolvimento, mas tá quase. Muito obrigado por compartilhar a planilha e essas dicas, que foram fundamentais...
ResponderExcluirGrande abraço e sucesso!
Renan Molon
Gostei muito da sua planilha. Baixei hoje, é um pouco complexa de inicio, mas acredito que pegarei o jeito. Esse preço justo pelo Decio Bazin, achei excelente. Estou lendo o livro dele e realmente ele tem muitos bons conselhos sobre análise fundamentalista.
ResponderExcluirOlá Aroldo, muito boa a planilha. Estava tentando buscar mais informações que não estão disponíveis no guiainvest, mas estão no http://www.investsite.com.br/principais_indicadores.php?cod_negociacao=TAEE11 por exemplo. Tentei adaptar a fórmula importxml, mas está dando erro. É possível baixar dados desse site também com a função importam?
ResponderExcluirTambém gostaria de saber se é possível do site investing!
ExcluirBoa tarde..Aroldo consigo criar uma planilha nova incluindo dados fundamentalistas sem assinar guiainvest?
ResponderExcluirNa Planilha do Google, preciso importar valor da cota do fundo VISTA MULTIESTRATEGIA FIM e a data.
ResponderExcluirNo exemplo: 2,96504952 e 09-01-19
Site: https://vistacapital.com.br/
Sempre utilizei o Importhtml para importar a tabela com cotações
=IMPORTHTML(A35;"table";1)
Porém não está funcionando mais, mesmo alterando o índice 1.
Pensei em usar o IMPORTXML, mas não consigo achar a parte do código que preciso.
pode me ajudar com o IMPORTXML desses 2 campos?
Boa noite, na fórmula ImportXML("http://www.guiainvest.com.br/raiox/default.aspx?sigla=bbas3" preciso sempre acrescentar o código da ação de forma manual? no exemplo acima, ao invés de inserir manualmente bbas3 é possível fazer uma referência a uma célula na minha planilha?
ResponderExcluirDesde já agradeço, ótimas dicas no seu blog.
Abs
ImportXML("http://www.guiainvest.com.br/raiox/default.aspx?sigla="&A1
Excluirolá amigo..sim é possivel..segue um exemplo.
Excluir=ImportXML("http://www.guiainvest.com.br/raiox/default.aspx?sigla="&A2;"//*[@id='lbDividendoPagoAcaoAtual']")
Note que no meu caso A2 é onde está o primeiro nome da minha lista de acoes. Após fazer para o primeiro item, basta puxar e arrastar para completar os demais itens da lista. Espero ter ajudado.
Olá Amigo,
ResponderExcluirParabéns pelo excelente trabalho e solidariedade no compartilhar ... Valeu!!!
Alguém sabe de um site que eu consigo puxar o valor em Disponibilidades?
ResponderExcluirTENTEI FAZER UM COMPARATIVO POR 7 DIAS 30 DIAS E 365 DIAS PARA COMPRAS SEMANAIS DOS ATIVOS, PORÉM AO COLOCAR A FUNÇÃO =ImportXML("http://www.guiainvest.com.br/raiox/default.aspx?sigla=pssa3";"//*[@id='lb365Dias']")
ResponderExcluirA CÉLULA NÃO APRESENTA O DADOE SIM A SEGUINTE MENSAGEM : KEYBOARD_ARROW_UP
Muito bom amigo. Já estava procurando essa função há tempo. Parabéns por compartilhar.
ResponderExcluirBom dia Aroldo, parabéns, a planilha que fez é muito útil.
ResponderExcluirTo com uma duvida no importxml. É possível parametrizar a sigla na função de importxml , de modo que eu possa ter uma lista de ações e poder copiar a função importxml para as demais linhas sem ter que digitar a sigla na mão em cada linha ?
olá amigo..sim é possivel..segue um exemplo.
Excluir=ImportXML("http://www.guiainvest.com.br/raiox/default.aspx?sigla="&A2;"//*[@id='lbDividendoPagoAcaoAtual']")
Note que no meu caso A2 é onde está o primeiro nome da minha lista de acoes. Após fazer para o primeiro item, basta puxar e arrastar para completar os demais itens da lista. Espero ter ajudado.
Olá, amigo! Eu usava a fórmula: =if(or(D530="=";and(D530="C";ISBLANK(D531)));if(AB530=true;iferror(IMPORTxml("http://bvmf.bmfbovespa.com.br/Fundos-Listados/FundosListadosDetalhe.aspx?Sigla="& left(B530;4) &"&tipoFundo=Imobiliario&aba=abaEventosCorporativos&idioma=pt-br";"//table[@id='ctl00_contentPlaceHolderConteudo_ucEventosCorporativos_grdDividendo_ctl01']//tr[1]//td[5]")););)
ExcluirB530 é a célula onde tenho o código de determinado ativo, mas me parece que o endereço da B3 mudou ou algo assim. Se tiveres ideia de como resolver a ineficácia da fórmula, agradeço. At.te.
Muito obrigado! Me ajudou bastante, parabéns por compartilhar o aprendizado conosco :)
ResponderExcluirTentei aplicar a fórmula para importar dados do status invest e deu erro. Fiz assim:
ResponderExcluir=importxml("https://statusinvest.com.br/acoes/abev3";"//*[@id="main-2"]/div[2]/div/div[1]/div/div[4]/div/div[2]/div/span[2]")
Pode me ajudar?
Muito legal essa funcionalidade!
ResponderExcluirEstou tentando puxar dados da cotação de opções do site da Infomoney mas não estou conseguindo aplicar a fórmula do IMPORTXML. Pode ajudar por favor?
https://www.infomoney.com.br/ferramentas/cotacoes-opcoes-de-acoes/
Até agora a fórmula ficou assim:
=IMPORTXML("https://www.infomoney.com.br/ferramentas/cotacoes-opcoes-de-acoes/";"//*[@id="cotacoes_opcoes"]/tbody/tr[1])")
Também não consegui importar do Statusinvest, do Fundamentus e do Infomoney, mas finalmente consegui importar do meusdividendos.com.
ResponderExcluirAtentar em substituir as duas aspas internas aos colchetes depois do sinal de igual por '
Muito bom! Obrigado! Ajudou muito!!!
ResponderExcluiralguem poderia me ajudar e obter dados de análise técnica do site investing usando a fórmula (=VALUE(IMPORTXML...), gostaria de puxar os seguintes dados da página https://br.investing.com/equities/petrobras-pn-technical (os dados são; RSI(14) ; MACD(12,26) ; MA100 exponencial e se o status é venda ou compra abaixo do valor, esses valores no período diário. (pois tem várias abas de diferentes períodos, sendo 5, 10, 15 minutos, dia, mês.....)
ResponderExcluirconsegui puxar o valor seguindo a fórmula abaixo;
=VALUE(IMPORTXML("https://br.investing.com/equities/petrobras-pn-technical/";"//*[@id='curr_table']/tbody/tr[6]/td[3]/text()"))
que me retornou o valor o valor MA200, mas do período HORA, não diário como quero.
se alguém puder me dar uma luz....agradeço.
fica ai o desafio
obrigado
Bom dia amigo, como consigo trazer o ROE da pagina do site https://www.fundamentus.com.br/detalhes.php?papel=ABEV3. Poderia ajudar?
ResponderExcluircomo faço pra importa datas com de fiis? do site: https://statusinvest.com.br/
ResponderExcluirCOMO IMPORTAR O SEGMENTO DE UMA AÇÃO OU FII? SABEM QUAL IMPORTXLM VCS USAM?
ResponderExcluirMuito bom , parabéns
ResponderExcluirCara, muito obrigado por explicar isso! Muitos YT ensinando google finance, que não dá para fazer isso com dividendos. Para mim, que não sei programar ou usar html, sua didática me salvou. Estou usando em outros sites de finanças. Valeu!
ResponderExcluir