Nesse post irei contribuir com automação de aplicações financeiras, com uso do python e do selenium, realizando a coleta dos dados de extrato e protocolos do Tesouro Direto
Todo o código está no repositório do Github:
https://github.com/bulfaitelo/Tesouro-Direto-Scraper
O que ele faz?
Existem 2 scripts:tesouro_direto_extrato.py: buscando o extrato do dia em questão
tesouro_direto_protocolo.py: buscando os protocolos do mês passado até o dia atual.
Requerimentos:
É necessário ter o Python instalado e configurado, que o Python tenha o selenium.Limitações
Por utilizar o drive seleium ele basicamente emula um navegador e "copia e cola" os dados, se for usar em uma aplicação que tenha muitos usuários ele irá consumir muita memória ou irá demorar muitas horas para executar, então use com sabedoria :).Como usar
Basta executar o script juntamente do seu cpf e senha, exemplo:python tesouro_direto_extrato.py 12354796369 pass123
python tesouro_direto_protocolo.py 12354796369 pass123
Retorno
Ambos os scripts retornam um json com todos os dados pra pronto para ser inserido em um banco de dados.[ {"inicio": "2018-06-15 10:08:20.379805"},
{ "nome_representante": "EASYNVEST", "titulo": "Tesouro IPCA+ 2019", "vencimento": "2019-05-15 00:00:00", "valor_investido": "50.72", "valor_bruto_atual": "60.05", "valor_liquido_atual": "58.15", "quant_total": "0.02", "quant_bloqueado": "0.00" },
{ "nome_representante": "EASYNVEST", "titulo": "Tesouro IPCA+ com Juros Semestrais 2026", "vencimento": "2026-08-15 00:00:00", "valor_investido": "1003.08", "valor_bruto_atual": "974.02", "valor_liquido_atual": "971.82", "quant_total": "0.31", "quant_bloqueado": "0.00" },
{ "nome_representante": "EASYNVEST", "titulo": "Tesouro Prefixado 2020", "vencimento": "2020-01-01 00:00:00", "valor_investido": "234.47", "valor_bruto_atual": "261.18", "valor_liquido_atual": "255.74", "quant_total": "0.30", "quant_bloqueado": "0.00" },
{ "nome_representante": "EASYNVEST", "titulo": "Tesouro Prefixado 2025", "vencimento": "2025-01-01 00:00:00", "valor_investido": "97.85", "valor_bruto_atual": "94.77", "valor_liquido_atual": "94.77", "quant_total": "0.20", "quant_bloqueado": "0.00" },
{ "nome_representante": "EASYNVEST", "titulo": "Tesouro Prefixado com Juros Semestrais 2027", "vencimento": "2027-01-01 00:00:00", "valor_investido": "234.89", "valor_bruto_atual": "235.00", "valor_liquido_atual": "234.06", "quant_total": "0.25", "quant_bloqueado": "0.00" },
{ "nome_representante": "EASYNVEST", "titulo": "Tesouro Selic 2021", "vencimento": "2021-03-01 00:00:00", "valor_investido": "1083.73", "valor_bruto_atual": "1241.11", "valor_liquido_atual": "1208.24", "quant_total": "0.13", "quant_bloqueado": "0.00" },
{ "nome_representante": "EASYNVEST", "titulo": "Tesouro Selic 2023", "vencimento": "2023-03-01 00:00:00", "valor_investido": "2241.49", "valor_bruto_atual": "2382.64", "valor_liquido_atual": "2350.69", "quant_total": "0.25", "quant_bloqueado": "0.00" },
{ "nome_representante": "RICO INVESTIMENTOS", "titulo": "Tesouro IPCA+ 2024", "vencimento": "2024-08-15 00:00:00", "valor_investido": "318.88", "valor_bruto_atual": "301.54", "valor_liquido_atual": "301.27", "quant_total": "0.14", "quant_bloqueado": "0.00" },
{ "nome_representante": "RICO INVESTIMENTOS", "titulo": "Tesouro IPCA+ com Juros Semestrais 2026", "vencimento": "2026-08-15 00:00:00", "valor_investido": "33.24", "valor_bruto_atual": "31.42", "valor_liquido_atual": "31.39", "quant_total": "0.01", "quant_bloqueado": "0.00" },
{ "nome_representante": "RICO INVESTIMENTOS", "titulo": "Tesouro IPCA+ com Juros Semestrais 2035", "vencimento": "2035-05-15 00:00:00", "valor_investido": "103.89", "valor_bruto_atual": "92.93", "valor_liquido_atual": "92.91", "quant_total": "0.03", "quant_bloqueado": "0.00" },
{ "nome_representante": "RICO INVESTIMENTOS", "titulo": "Tesouro IPCA+ com Juros Semestrais 2050", "vencimento": "2050-08-15 00:00:00", "valor_investido": "35.41", "valor_bruto_atual": "31.39", "valor_liquido_atual": "31.37", "quant_total": "0.01", "quant_bloqueado": "0.00" },
{ "nome_representante": "RICO INVESTIMENTOS", "titulo": "Tesouro Prefixado 2021", "vencimento": "2021-01-01 00:00:00", "valor_investido": "380.34", "valor_bruto_atual": "374.46", "valor_liquido_atual": "374.11", "quant_total": "0.48", "quant_bloqueado": "0.00" },
{ "nome_representante": "RICO INVESTIMENTOS", "titulo": "Tesouro Prefixado 2025", "vencimento": "2025-01-01 00:00:00", "valor_investido": "285.64", "valor_bruto_atual": "255.89", "valor_liquido_atual": "255.66", "quant_total": "0.54", "quant_bloqueado": "0.00" },
{ "nome_representante": "RICO INVESTIMENTOS", "titulo": "Tesouro Selic 2023", "vencimento": "2023-03-01 00:00:00", "valor_investido": "1874.75", "valor_bruto_atual": "1906.12", "valor_liquido_atual": "1897.39", "quant_total": "0.20", "quant_bloqueado": "0.00" },
{"fim": "2018-06-15 10:08:55.297721"} ]
Conclusão
Esse script faz parte de um projeto que tenho de controle financeiro, então como não existia nada parecido eu optei por compartilhar com a comunidade, espero que seja útil!Se vocês gostaram desse Post não deixe de compartilhar com seus amigos!!!
E para não perder nenhuma novidade nos sigam nas redes sociais:
Twitter: @Bulfaitelo
Facebook: Bulfaitelo Project
Blogger: Bulfaitelo Project