|
Por Thomas Lopes
|
|
27 de March de 2008 |
|
Outro dia estava pensando como poderia misturar duas áreas que gosto muito: Computação e Investimentos. Uma das formas, é meu projeto de TCC. Dessa eu não posso dar muitos detalhes agora. Outra, é começar a utilizar a computação para 'automatizar' algumas tarefas que executo diariamente (não seria exatamente para isso que a computação surgiu?). Algo muito simples que fiz semana passada, e que ajuda muito nos momentos de correria, além de demonstrar o poder e praticidade da linguagem Python: um script que puxa o valor e variação dos ativos de sua escolha. Ele demonstra o uso de duas bibliotecas interessantes do Python: RE (Expressões Regulares) e a URLLIB (Biblioteca para manipular requests de URLs)
Para testar, basta copiar o script abaixo e executar no seu PC, Handheld, SmartPhone. host server, em suma, qualquer lugar com suporte a python (a lista só aumenta!) import re; import urllib;
# lista de ativos que voce deseja obter valores ativos = ['vale5','vale3','petr3','petr4','ggbr4','brap4','wege3','card3','bovh3'];
# expressoes regulares para pegar o valor e a variacao do ativo na pagina exppreco = re.compile('R\$ [0-9]+,[0-9]+'); expvar = re.compile('[+-]+[0-9]+,[0-9]+\%');
#endereco base da pagina de consulta aos ativos. Note que estamos usando a versao Movel, pra carregar mais rapido strurl = "http://www.bovespa.com.br/Movel/ExecutaAcaoExibirInformacaoAtivo.asp?CodigoAtivo=";
# para cada ativo da lista, recupera os valores baseado na RE e printa no console for at in ativos: string = urllib.urlopen(strurl+at).read(); try: preco = exppreco.findall(string)[0]; variacao = expvar.findall(string)[0]; except: preco = "--"; variacao = "--"; print at.upper()+" / PRECO: "+preco+" VAR: "+variacao;
veja uma screenshot:
|
|
Última Atualização ( 27 de March de 2008 )
|
Gostei do código! a única coisa que mudei, foi colocar dentro do try a linha
string = urllib.urlopen(strurl at).read();
para evitar exception qdo cai a conexão.
[]s
Damico