Obtendo a cotação do Bitcoin com SED

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

[ Hits: 3.076 ]

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

Slack - Ferramenta de comunicação em equipe (PC, Android e iOS)

Como ordenar arquivos por tamanho

Executar comando na entrada e saída do Vim

Como reiniciar o Chromium Browser sem perder as abas abertas

Listar as máquinas/dispositivos online em determinada rede

Leitura recomendada

Leitor de arquivos ePub

Como fazer "quit" no SED

Ações condicionais no SED

Como remover parêntesis dos nomes de arquivos

Baixando todos os arquivos de uma URL com o wget

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário