Obtendo a cotação do Bitcoin com SED

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

[ Hits: 2.168 ]

Blog: https://mestrefabio.com

 


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

Auto indentar linhas selecionadas no Vim

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

O comando slocate

Apache - Forçando o browser a fazer download de determinado tipo de arquivo

PHP - "Notice: Use of undefined constant..." [Resolvido]

Leitura recomendada

Eliminando linhas de comentário ou linhas em branco no Linux

Ações condicionais no SED

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

Múltiplas expressões no SED

Sed - como salvar alterações no arquivo

  

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