Files
crypto_portfolio/crypto_portfolio.py
[Luis Rodrigues] ee7dc47997 correção de nome de variaveis;
simplificar a avaliação de equivalencia entre 'item_resposta' e 'linha_ficheiro_csv'
2024-05-22 12:39:31 +01:00

61 lines
1.7 KiB
Python

import requests
import time
base_url = 'https://api.coingecko.com/api/v3/'
coin = 'bitcoin'
vs_currency = 'eur'
days = '365'
precision = '3'
intervalo = 'daily'
historico_precos_header = [
"data",
"moeda",
"preco_abertura",
"preco_maximo",
"preco_minimo",
"preco_fecho"
]
portfolio_headers = [
"data",
"moeda",
"quantidade",
"movimento"
]
# https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=eur&days=365&interval=daily
url_historico_preco = base_url + 'coins/' + coin + '/market_chart?vs_currency=' + vs_currency + '&days=' + days + '&interval=' + intervalo + '&precision=' + precision
# https://api.coingecko.com/api/v3/coins/bitcoin/ohlc?vs_currency=eur&days=30&precision=3
url_preco_ohlc = base_url + 'coins/' + coin + '/ohlc?vs_currency=' + vs_currency + '&days=' + days + '&precision=' + precision
APY_KEY = "CG-K5RS5VXsdFDip2UvY3z8VjQP"
headers = {
'accept': 'application/json',
'x-cg-demo-api-key': APY_KEY
}
# tipo de pesquisa
url_consulta = url_historico_preco
response = requests.get(url_consulta, headers= headers)
if response.status_code == 200:
data = response.json()
print(len(data['prices']))
#print(data)
for index in range(0, len(data['prices'])):
#date = time.ctime(data['prices'][index][0]/1000)
date_as_string = time.strftime("%d/%m/%Y", time.gmtime(data['prices'][index][0]/1000))
price = data['prices'][index][1]
print(f'{date_as_string} -> {price:.2f}')
# ohlc = [ data[0][1], data[0][2], data[0][3], data[0][4] ]
# print(f'price of bitcoin in {date_as_string}:\nopen: {ohlc[0]}\nhigh: {ohlc[1]}\nlow: {ohlc[2]}\nclose: {ohlc[3]}')
else:
print('failed to retrive data')