criado exemplo de script 'crypto_portfolio.py' para aceder a dados CoinGecko via API

This commit is contained in:
2024-06-18 22:23:49 +01:00
parent 423705c16f
commit 66d23625e0
4 changed files with 97 additions and 36 deletions

View File

@ -1,12 +1,16 @@
import requests import modulos.coingecko_api as cgapi
import time import time
base_url = 'https://api.coingecko.com/api/v3/' APY_KEY = "CG-K5RS5VXsdFDip2UvY3z8VjQP"
coin = 'bitcoin'
vs_currency = 'eur' cgapi.headers = {
days = '365' 'accept': 'application/json',
precision = '3' 'x-cg-demo-api-key': APY_KEY,
intervalo = 'daily' }
criptomoeda: str = 'bitcoin'
vs_currency: str = 'eur'
dias: str = '30'
historico_precos_header = [ historico_precos_header = [
"data", "data",
@ -24,32 +28,16 @@ portfolio_headers = [
"movimento" "movimento"
] ]
# https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=eur&days=365&interval=daily url, codigo, dados_ohlc = cgapi.coin_ohlc_chart_by_id('bitcoin','eur','30')
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" if codigo == 200:
print(len(dados_ohlc))
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) #print(data)
for index in range(0, len(data['prices'])): for index in range(0, len(dados_ohlc)):
#date = time.ctime(data['prices'][index][0]/1000) #date = time.ctime(data['prices'][index][0]/1000)
date_as_string = time.strftime("%d/%m/%Y", time.gmtime(data['prices'][index][0]/1000)) date_as_string = time.strftime("%d/%m/%Y", time.gmtime(dados_ohlc[index][0]/1000))
price = data['prices'][index][1] price = dados_ohlc[index][1]
print(f'{date_as_string} -> {price:.2f}') print(f'{date_as_string} -> {price:.2f}')
# ohlc = [ data[0][1], data[0][2], data[0][3], data[0][4] ] # ohlc = [ data[0][1], data[0][2], data[0][3], data[0][4] ]

View File

@ -268,3 +268,76 @@ data_unix,criptomoeda,vs_currency,preco_abertura,preco_maximo,preco_minimo,preco
1717660800000,bitcoin,eur,65230.943,65316.458,65062.402,65316.458 1717660800000,bitcoin,eur,65230.943,65316.458,65062.402,65316.458
1717675200000,bitcoin,eur,65274.639,65407.744,65158.324,65386.244 1717675200000,bitcoin,eur,65274.639,65407.744,65158.324,65386.244
1717689600000,bitcoin,eur,65419.588,65774.141,65249.732,65506.978 1717689600000,bitcoin,eur,65419.588,65774.141,65249.732,65506.978
1717704000000,bitcoin,eur,65471.555,65532.729,64717.288,64717.288
1717718400000,bitcoin,eur,64677.664,65089.162,64343.301,64964.378
1717732800000,bitcoin,eur,64977.376,65149.537,64848.527,65130.071
1717747200000,bitcoin,eur,65155.771,65552.101,65155.771,65216.141
1717761600000,bitcoin,eur,65252.625,65702.159,65206.759,65702.159
1717776000000,bitcoin,eur,65734.057,66131.777,65253.932,65752.783
1717790400000,bitcoin,eur,65749.188,65848.487,63728.664,64129.646
1717804800000,bitcoin,eur,64060.091,64272.295,63848.308,64146.758
1717819200000,bitcoin,eur,64159.212,64299.072,64086.474,64249.859
1717833600000,bitcoin,eur,64209.15,64349.251,64051.858,64318.275
1717848000000,bitcoin,eur,64311.571,64311.571,64131.824,64131.824
1717862400000,bitcoin,eur,64203.41,64296.204,64035.949,64249.135
1717876800000,bitcoin,eur,64221.037,64299.139,64128.188,64277.034
1717891200000,bitcoin,eur,64270.706,64270.706,64108.467,64137.266
1717905600000,bitcoin,eur,64128.272,64158.804,63991.822,64090.377
1717920000000,bitcoin,eur,64081.766,64217.961,64052.909,64057.296
1717934400000,bitcoin,eur,64059.0,64149.432,64042.574,64134.292
1717948800000,bitcoin,eur,64124.981,64479.239,63989.962,64285.248
1717963200000,bitcoin,eur,64291.111,64656.936,64266.263,64601.802
1717977600000,bitcoin,eur,64582.604,64759.561,64522.41,64623.807
1717992000000,bitcoin,eur,64616.25,64801.268,64439.453,64691.987
1718006400000,bitcoin,eur,64687.165,64792.696,64386.034,64411.814
1718020800000,bitcoin,eur,64350.265,64704.291,64350.265,64575.72
1718035200000,bitcoin,eur,64590.601,65248.725,64442.081,65248.725
1718049600000,bitcoin,eur,65151.51,65166.971,64556.295,64556.295
1718064000000,bitcoin,eur,64454.135,64736.581,64384.742,64559.648
1718078400000,bitcoin,eur,64588.999,64616.169,63155.903,63453.009
1718092800000,bitcoin,eur,63536.762,63536.762,62711.095,62731.686
1718107200000,bitcoin,eur,62720.58,62879.267,62185.261,62304.792
1718121600000,bitcoin,eur,62294.215,62696.767,61702.308,61713.404
1718136000000,bitcoin,eur,61738.523,62902.134,61668.739,62902.134
1718150400000,bitcoin,eur,62769.21,62897.02,62539.241,62689.904
1718164800000,bitcoin,eur,62652.099,62907.854,62301.584,62738.123
1718179200000,bitcoin,eur,62783.447,62938.535,62566.099,62754.609
1718193600000,bitcoin,eur,62781.987,63246.226,62661.563,62926.3
1718208000000,bitcoin,eur,62962.533,64500.086,62909.222,64289.713
1718222400000,bitcoin,eur,64340.66,64441.731,62257.896,62401.11
1718236800000,bitcoin,eur,62505.301,63451.515,62486.678,63085.644
1718251200000,bitcoin,eur,63118.091,63244.317,61974.217,62384.132
1718265600000,bitcoin,eur,62430.948,62626.296,62291.493,62574.146
1718280000000,bitcoin,eur,62623.2,62937.053,62197.012,62797.728
1718294400000,bitcoin,eur,62808.255,63507.276,61815.622,61853.329
1718308800000,bitcoin,eur,61768.207,62448.107,61768.207,62102.312
1718323200000,bitcoin,eur,62077.312,62349.546,61938.342,62107.467
1718337600000,bitcoin,eur,62161.672,62367.239,61897.656,62111.616
1718352000000,bitcoin,eur,62108.466,62596.584,62102.836,62596.584
1718366400000,bitcoin,eur,62424.867,62816.856,62417.064,62652.665
1718380800000,bitcoin,eur,62643.286,63005.52,62068.413,62068.413
1718395200000,bitcoin,eur,62031.147,62079.753,60759.177,61094.451
1718409600000,bitcoin,eur,61222.053,62012.143,61183.513,61562.526
1718424000000,bitcoin,eur,61563.381,61797.231,61533.382,61742.924
1718438400000,bitcoin,eur,61774.804,61910.234,61599.798,61610.882
1718452800000,bitcoin,eur,61605.706,61852.385,61604.645,61796.547
1718467200000,bitcoin,eur,61840.13,61990.543,61700.173,61830.904
1718481600000,bitcoin,eur,61846.954,61859.093,61637.695,61702.146
1718496000000,bitcoin,eur,61690.434,61806.068,61517.023,61759.233
1718510400000,bitcoin,eur,61756.523,61774.106,61632.978,61673.592
1718524800000,bitcoin,eur,61675.144,61887.92,61571.456,61795.6
1718539200000,bitcoin,eur,61771.32,62242.399,61730.76,61954.382
1718553600000,bitcoin,eur,62014.055,62260.225,61978.161,62163.599
1718568000000,bitcoin,eur,62179.642,62252.792,62053.422,62153.209
1718582400000,bitcoin,eur,62157.854,62557.4,62030.817,62231.369
1718596800000,bitcoin,eur,62267.678,62461.5,61856.093,61892.854
1718611200000,bitcoin,eur,61834.712,62113.756,61568.403,61903.611
1718625600000,bitcoin,eur,61809.519,61898.448,61209.99,61376.919
1718640000000,bitcoin,eur,61393.003,61393.003,60736.936,60936.7
1718654400000,bitcoin,eur,60930.124,62601.636,60703.206,62067.171
1718668800000,bitcoin,eur,62071.407,62105.956,61658.083,61877.281
1718683200000,bitcoin,eur,61888.621,61946.547,60168.95,61105.393
1718697600000,bitcoin,eur,61065.311,61367.521,60983.001,61236.949
1718712000000,bitcoin,eur,61224.349,61350.669,60822.616,61069.727
1718726400000,bitcoin,eur,60972.72,60972.72,59943.823,60352.265
1718740800000,bitcoin,eur,60155.898,60358.155,59744.169,59767.125

1 data_unix criptomoeda vs_currency preco_abertura preco_maximo preco_minimo preco_fecho
268 1717660800000 bitcoin eur 65230.943 65316.458 65062.402 65316.458
269 1717675200000 bitcoin eur 65274.639 65407.744 65158.324 65386.244
270 1717689600000 bitcoin eur 65419.588 65774.141 65249.732 65506.978
271 1717704000000 bitcoin eur 65471.555 65532.729 64717.288 64717.288
272 1717718400000 bitcoin eur 64677.664 65089.162 64343.301 64964.378
273 1717732800000 bitcoin eur 64977.376 65149.537 64848.527 65130.071
274 1717747200000 bitcoin eur 65155.771 65552.101 65155.771 65216.141
275 1717761600000 bitcoin eur 65252.625 65702.159 65206.759 65702.159
276 1717776000000 bitcoin eur 65734.057 66131.777 65253.932 65752.783
277 1717790400000 bitcoin eur 65749.188 65848.487 63728.664 64129.646
278 1717804800000 bitcoin eur 64060.091 64272.295 63848.308 64146.758
279 1717819200000 bitcoin eur 64159.212 64299.072 64086.474 64249.859
280 1717833600000 bitcoin eur 64209.15 64349.251 64051.858 64318.275
281 1717848000000 bitcoin eur 64311.571 64311.571 64131.824 64131.824
282 1717862400000 bitcoin eur 64203.41 64296.204 64035.949 64249.135
283 1717876800000 bitcoin eur 64221.037 64299.139 64128.188 64277.034
284 1717891200000 bitcoin eur 64270.706 64270.706 64108.467 64137.266
285 1717905600000 bitcoin eur 64128.272 64158.804 63991.822 64090.377
286 1717920000000 bitcoin eur 64081.766 64217.961 64052.909 64057.296
287 1717934400000 bitcoin eur 64059.0 64149.432 64042.574 64134.292
288 1717948800000 bitcoin eur 64124.981 64479.239 63989.962 64285.248
289 1717963200000 bitcoin eur 64291.111 64656.936 64266.263 64601.802
290 1717977600000 bitcoin eur 64582.604 64759.561 64522.41 64623.807
291 1717992000000 bitcoin eur 64616.25 64801.268 64439.453 64691.987
292 1718006400000 bitcoin eur 64687.165 64792.696 64386.034 64411.814
293 1718020800000 bitcoin eur 64350.265 64704.291 64350.265 64575.72
294 1718035200000 bitcoin eur 64590.601 65248.725 64442.081 65248.725
295 1718049600000 bitcoin eur 65151.51 65166.971 64556.295 64556.295
296 1718064000000 bitcoin eur 64454.135 64736.581 64384.742 64559.648
297 1718078400000 bitcoin eur 64588.999 64616.169 63155.903 63453.009
298 1718092800000 bitcoin eur 63536.762 63536.762 62711.095 62731.686
299 1718107200000 bitcoin eur 62720.58 62879.267 62185.261 62304.792
300 1718121600000 bitcoin eur 62294.215 62696.767 61702.308 61713.404
301 1718136000000 bitcoin eur 61738.523 62902.134 61668.739 62902.134
302 1718150400000 bitcoin eur 62769.21 62897.02 62539.241 62689.904
303 1718164800000 bitcoin eur 62652.099 62907.854 62301.584 62738.123
304 1718179200000 bitcoin eur 62783.447 62938.535 62566.099 62754.609
305 1718193600000 bitcoin eur 62781.987 63246.226 62661.563 62926.3
306 1718208000000 bitcoin eur 62962.533 64500.086 62909.222 64289.713
307 1718222400000 bitcoin eur 64340.66 64441.731 62257.896 62401.11
308 1718236800000 bitcoin eur 62505.301 63451.515 62486.678 63085.644
309 1718251200000 bitcoin eur 63118.091 63244.317 61974.217 62384.132
310 1718265600000 bitcoin eur 62430.948 62626.296 62291.493 62574.146
311 1718280000000 bitcoin eur 62623.2 62937.053 62197.012 62797.728
312 1718294400000 bitcoin eur 62808.255 63507.276 61815.622 61853.329
313 1718308800000 bitcoin eur 61768.207 62448.107 61768.207 62102.312
314 1718323200000 bitcoin eur 62077.312 62349.546 61938.342 62107.467
315 1718337600000 bitcoin eur 62161.672 62367.239 61897.656 62111.616
316 1718352000000 bitcoin eur 62108.466 62596.584 62102.836 62596.584
317 1718366400000 bitcoin eur 62424.867 62816.856 62417.064 62652.665
318 1718380800000 bitcoin eur 62643.286 63005.52 62068.413 62068.413
319 1718395200000 bitcoin eur 62031.147 62079.753 60759.177 61094.451
320 1718409600000 bitcoin eur 61222.053 62012.143 61183.513 61562.526
321 1718424000000 bitcoin eur 61563.381 61797.231 61533.382 61742.924
322 1718438400000 bitcoin eur 61774.804 61910.234 61599.798 61610.882
323 1718452800000 bitcoin eur 61605.706 61852.385 61604.645 61796.547
324 1718467200000 bitcoin eur 61840.13 61990.543 61700.173 61830.904
325 1718481600000 bitcoin eur 61846.954 61859.093 61637.695 61702.146
326 1718496000000 bitcoin eur 61690.434 61806.068 61517.023 61759.233
327 1718510400000 bitcoin eur 61756.523 61774.106 61632.978 61673.592
328 1718524800000 bitcoin eur 61675.144 61887.92 61571.456 61795.6
329 1718539200000 bitcoin eur 61771.32 62242.399 61730.76 61954.382
330 1718553600000 bitcoin eur 62014.055 62260.225 61978.161 62163.599
331 1718568000000 bitcoin eur 62179.642 62252.792 62053.422 62153.209
332 1718582400000 bitcoin eur 62157.854 62557.4 62030.817 62231.369
333 1718596800000 bitcoin eur 62267.678 62461.5 61856.093 61892.854
334 1718611200000 bitcoin eur 61834.712 62113.756 61568.403 61903.611
335 1718625600000 bitcoin eur 61809.519 61898.448 61209.99 61376.919
336 1718640000000 bitcoin eur 61393.003 61393.003 60736.936 60936.7
337 1718654400000 bitcoin eur 60930.124 62601.636 60703.206 62067.171
338 1718668800000 bitcoin eur 62071.407 62105.956 61658.083 61877.281
339 1718683200000 bitcoin eur 61888.621 61946.547 60168.95 61105.393
340 1718697600000 bitcoin eur 61065.311 61367.521 60983.001 61236.949
341 1718712000000 bitcoin eur 61224.349 61350.669 60822.616 61069.727
342 1718726400000 bitcoin eur 60972.72 60972.72 59943.823 60352.265
343 1718740800000 bitcoin eur 60155.898 60358.155 59744.169 59767.125

Binary file not shown.

View File

@ -1687,10 +1687,10 @@ def public_companies_holdings(coin_id: str = '') -> tuple[str, int, dict]:
# debug (decomentar linhas seguintes para testar funcao) # debug (decomentar linhas seguintes para testar funcao)
url, codigo, dados = public_companies_holdings('bitcoin') # url, codigo, dados = public_companies_holdings('bitcoin')
print(f'url: {url}') # print(f'url: {url}')
if codigo == 200: # if codigo == 200:
for item in dados: # for item in dados:
print(f'{item}: {dados[item]}') # print(f'{item}: {dados[item]}')
else: # else:
print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')