Postagem em destaque

Planilha Básica para Investimento em Ações

Para um melhor desempenho do investidor em ações na Bolsa de Valores é primordial saber se está ganhando ou perdendo dinheiro e, para is...

domingo, 31 de janeiro de 2016

ImportXml: Insira Dados Fundamentalistas em Sua Planilha de Ações




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 2. Utilize a função ImprtXML do google finance.


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 .

Veja exemplo prático na Planilha Básica de Investimentos em Ações aqui e aqui:

Fontes Consultadas: 
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/

41 comentários:

  1. Respostas
    1. Grande Uorrem,
      Obrigado pela visita.

      Excluir
    2. Magina, eu que agradeço o post, vou fazer uma coisa legal aqui com esta dica.
      Abraço!

      Excluir
  2. 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).
    També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

    ResponderExcluir
    Respostas
    1. Caro Jonatan,
      Obrigado 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 .

      Excluir
    2. Este comentário foi removido pelo autor.

      Excluir
    3. Olá Aroldo, excelnte planilha, obrigado por compartilhar.

      Oi Jonatan, poderia me enviar sua planilha também?

      Excluir
    4. Este comentário foi removido pelo autor.

      Excluir
    5. Bom dia. Poderia Enviar por favor? Tentei automatizar e não conseguir. Gostaria de verificar como você fez. Muito obrigado

      Excluir
  3. Grande Aroldo!!
    isso era o que eu procurava, um modo de ganhar tempo nas análises e comparações. Parabéns!

    ResponderExcluir
    Respostas
    1. Olá Wellyton,
      Obrigado pela visita e fico feliz em saber que o poste lhe foi útil.
      Abs

      Excluir
  4. Como consigo essa planilha...Facilitaria muito a vida de um iniciante! antonioclaudio_01@hotmail.com

    ResponderExcluir
  5. Aroldo, 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.
    Obrigado,
    abraço

    ResponderExcluir
  6. 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...

    Grande abraço e sucesso!

    Renan Molon

    ResponderExcluir
  7. 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.

    ResponderExcluir
  8. Olá 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?

    ResponderExcluir
    Respostas
    1. Também gostaria de saber se é possível do site investing!

      Excluir
  9. Boa tarde..Aroldo consigo criar uma planilha nova incluindo dados fundamentalistas sem assinar guiainvest?

    ResponderExcluir
  10. Na Planilha do Google, preciso importar valor da cota do fundo VISTA MULTIESTRATEGIA FIM e a data.
    No 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?

    ResponderExcluir
  11. 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?
    Desde já agradeço, ótimas dicas no seu blog.
    Abs

    ResponderExcluir
    Respostas
    1. ImportXML("http://www.guiainvest.com.br/raiox/default.aspx?sigla="&A1

      Excluir
    2. olá amigo..sim é possivel..segue um exemplo.

      =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.

      Excluir
  12. Olá Amigo,
    Parabéns pelo excelente trabalho e solidariedade no compartilhar ... Valeu!!!

    ResponderExcluir
  13. Alguém sabe de um site que eu consigo puxar o valor em Disponibilidades?

    ResponderExcluir
  14. TENTEI 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']")

    A CÉLULA NÃO APRESENTA O DADOE SIM A SEGUINTE MENSAGEM : KEYBOARD_ARROW_UP

    ResponderExcluir
  15. Muito bom amigo. Já estava procurando essa função há tempo. Parabéns por compartilhar.

    ResponderExcluir
  16. Bom dia Aroldo, parabéns, a planilha que fez é muito útil.
    To 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 ?

    ResponderExcluir
    Respostas
    1. olá amigo..sim é possivel..segue um exemplo.

      =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.

      Excluir
    2. 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]")););)
      B530 é 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.

      Excluir
  17. Muito obrigado! Me ajudou bastante, parabéns por compartilhar o aprendizado conosco :)

    ResponderExcluir
  18. Tentei aplicar a fórmula para importar dados do status invest e deu erro. Fiz assim:


    =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?

    ResponderExcluir
  19. Muito legal essa funcionalidade!

    Estou 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])")

    ResponderExcluir
  20. Também não consegui importar do Statusinvest, do Fundamentus e do Infomoney, mas finalmente consegui importar do meusdividendos.com.
    Atentar em substituir as duas aspas internas aos colchetes depois do sinal de igual por '

    ResponderExcluir
  21. Muito bom! Obrigado! Ajudou muito!!!

    ResponderExcluir
  22. alguem 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.....)

    consegui 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

    ResponderExcluir
  23. Bom dia amigo, como consigo trazer o ROE da pagina do site https://www.fundamentus.com.br/detalhes.php?papel=ABEV3. Poderia ajudar?

    ResponderExcluir
  24. como faço pra importa datas com de fiis? do site: https://statusinvest.com.br/

    ResponderExcluir
  25. COMO IMPORTAR O SEGMENTO DE UMA AÇÃO OU FII? SABEM QUAL IMPORTXLM VCS USAM?

    ResponderExcluir