Obtendo a cotação do Bitcoin com SED

Publicado por Fábio Berbert de Paula em 29/06/2020

[ Hits: 2.955 ]

Blog: https://fabio.automatizando.dev

 


Obtendo a cotação do Bitcoin com SED



Nesta dica veremos como usar a combinação do curl e sed para obter a cotação do Bitcoin. Usaremos a API da exchange Binance.

A documentação da API da Binance pode ser encontrada aqui:
Pesquisando por "ticker" encontramos as seguintes informações:
  • Symbol Price Ticker: GET /api/v3/ticker/price
  • Parameters: symbol | STRING

Então o que queremos é a junção de: https://api.binance.com + /api/v3/ticker/price

Podemos passar a variável "symbol" como parâmetro GET para filtrar o preço pela moeda desejada, que em nosso caso será o Bitcoin.

Primeiro passo será listar todos os tickers e descobrir quais são os referentes ao BTC.

Listar todos os tickers:

curl -s https://api.binance.com/api/v3/ticker/price

Filtrar a saída com o sed, imprimindo um por linha, somente o valor de symbol:

curl -s https://api.binance.com/api/v3/ticker/price | sed 's/symbol/\nsymbol/g' | sed 's/^symbol\":\"\([A-Z]*\).*$/\1/'

Ainda temos bastante coisa né? Na data desta dica, 841 símbolos. Vamos filtrar somente as linhas que começam com BTC:

curl -s https://api.binance.com/api/v3/ticker/price | sed 's/symbol/\nsymbol/g' | sed 's/^symbol\":\"\([A-Z]*\).*$/\1/' | sed -n '/^BTC/p'
BTCUSDT
BTCTUSD
BTCPAX
BTCUSDC
BTCUSDS
BTCBBTC
BTCBUSD
BTCNGN
BTCRUB
BTCTRY
BTCEUR
BTCZAR
BTCBKRW
BTCIDRT
BTCUPUSDT
BTCDOWNUSDT
BTCGBP
BTCUAH


Estamos chegando lá! O símbolo que queremos é o BTCUSDT. Então vamos chamar a API informando o símbolo desejado:

curl -s https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT
{"symbol":"BTCUSDT","price":"9146.99000000"}

E finalmente o comando para extrair somente o preço:

curl -s https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT | sed 's/^.*price.:.\([0-9\.]*\).*$/\1/g'
9147.57000000

DICA: crie um alias chamado "bitcoin" ou nome similar para o comando acima.

Até a próxima!

Outras dicas deste autor

Como aumentar ou reduzir a velocidade de um vídeo via linha de comando

Configurando temas no Bashtop

Nginx - Como redirecionar seu domínio para o www

MySQL - Como fazer backup de Triggers e Stored Procedures

Como instalar versões antigas de aplicativos no Android

Leitura recomendada

Equação de 2° Grau Shell Script - Zenity

Bloqueando tráfego via MAC com iptables

Baixando todos os arquivos de uma URL com o wget

Executando comandos em looping no shell

Remover tags HTML com SED

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts