Rapidinha: Obter cotação da bolsa de valores em tempo real …

19 11 2007

… claro, com um pequeno atraso de 15 minutos. E ajuda do sempre útil simplexml, do PHP5. Segue:

<?php
// author: Eziel Silva
@list($self, $papel, $time, $tot) = $argv;
if (!$papel) {
    echo sprintf('uso:    %s <PAPEL> [temp][valor]%s', $self, "\n");
    echo sprintf('PAPEL:  VALE5%s', "\n");
    echo sprintf('temp:   tempo de atualizacao - default = 20%s', "\n");
    echo sprintf('valor:  quanto em papeis da empresa voce possui%s', "\n");
    return 1;
}

$url  = sprintf('http://www.bovespa.com.br/Cotacoes2000/formCotacoesMobile.asp?codsocemi=%s', $papel);
$sXml = @simplexml_load_string(@file_get_contents($url));

if (!$sXml) {
    echo sprintf('Simbolo "%s" nao encontrado', $papel);
    return 1;
}

$format = "Hor: %s Osc.: %s%% Rend.: %s\n";
if (!$tot) {
    $format = "Hor: %s Osc.: %s%%\n";
}
if (!$time) {
    $time = 20;
}

while(true) {
    $sXml = @simplexml_load_string(@file_get_contents($url));
    if (!$sXml) {
        echo sprintf('Erro atualizando... aguardando 5s%s',"\n");
        sleep(5);
        continue;
    }
    $c = $tot * str_replace(',','.', $sXml->PAPEL['OSCILACAO']) / 100;
    // hack pra me deixar feliz... caso esteja perdendo $$$, 
    // descomente a linha abaixo
    //$c = $c * -1; 
    echo sprintf($format, $sXml->PAPEL['HORA'], $sXml->PAPEL['OSCILACAO'], $c);
    sleep($time);
}

$ php bov.php
uso: bov.php [temp][valor]
PAPEL: VALE5
temp: tempo de atualizacao – default = 20
valor: quanto em papeis da empresa voce possui

$ php bov.php VALE5
Hor: 18:08:06 Osc.: -3,55%

$ php bov.php VALE5 5 1000
Hor: 18:08:06 Osc.: -3,55% Rend.: -35.5

Arquivo:
bov.php

Anúncios

Ações

Information

8 responses

9 12 2007
Custom SLA Programming

i am not able to pick up the language !

29 01 2008
Rafael Gilead

erro linha5

30 01 2008
E Silva

fato, nem tinha notado, faltou o argumento do sprintf. Deveria ser:

echo sprintf(‘Simbolo “%s” nao encontrado’, $papel);

1 06 2008
j2megamedev

estava a procura do link na bovespa, mas já que veio com código.. melhor ainda.

parabéns man, seu blog tá blz.

4 11 2008
Alexandre de Oliveira

Magavilha! Com algumas modificações fiz funcionar maravilha.

Agora só falta um do dólar e estou feito.

Valeu aí, um grande abraço!

25 05 2010
www.RevistaHomeBroker.com

Convidamos você à participar do lançamento da inovadora Revista Home Broker, voltada para abertura de NOVOS clientes no mercado financeiro e divulgação de atividades do setor de RENDA variável!
Ampla campanha de lançamento, consulte.

Aproveite a oportunidade e saia na frente, http://www.RevistaHomeBroker.com

Email contato@RevistaHomeBroker.com
Atenciosamente,
Comercial RHB

8 10 2010
Rui Macdonald

Podem-me dar uma dica como utilizar este php?

Já coloquei o bov.php na root do meu site e chamei o código através do Plugin: iFrame Widget, mas de certeza que não deve ser assim.

Alguém me pode ajudar

Um abraço

10 03 2015
Jean Maylart

BOA TARDE GALERA O MEU FICA DANDO ESSE ERRO ” uso: [temp][valor] PAPEL: VALE5 temp: tempo de atualizacao – default = 20 valor: quanto em papeis da empresa voce possui ” ALGUEM PODERIA ME ENVIAR O QUE ESTA APARECENDO CERTO

DESDE JÁ MUITO OBRIGADO

JEAN PIERRE
MAYLART@HOTMAIL.COM

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: