es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo extraer todos los símbolos de criptomonedas de Coinmarketcap.

Estoy utilizando el siguiente código para extraer datos de Coinmarketcap insertando los símbolos de las monedas una por una, pero como cada día se agregan nuevas criptomonedas a la lista, necesito extraer todas las criptomonedas a la vez desde https://coinmarketcap.com/coins/views/all/ para tener la lista actualizada todos los días. ¿Cómo podría modificar el siguiente código para que tenga todos los símbolos de criptomonedas en un archivo de texto primero y luego hacer el resto? Su ayuda es muy apreciada.

import time
import requests

a = []

while True:
try:
x = input(“Escriba los símbolos de las monedas. Escriba ‘listo’ cuando termine: “)
open(‘/Users/DearUser/crypto_symbol_3.txt’, ‘a’).close()
if x.upper() == “LISTO”:
break

         def get_timestamp(datetime: str):
             return int(time.mktime(time.strptime(datetime, '%Y-%m-%d')))

         def get_btc_quotes(start_date: str, end_date: str, symbols: str):
             start = get_timestamp(start_date)
             end = get_timestamp(end_date)
             url = f'https://web-api.coinmarketcap.com/v1/cryptocurrency/ohlcv/historical?symbol={symbols}&convert=USD&time_start={start}&time_end={end}'
             return requests.get(url).json() 

         symbols = ""
         with open('/Users/DearUser/crypto_symbol_3.txt', 'r') as f:
             for line in f:
                 symbols += line.split(":")[0].replace('"', '').strip() + ","

         data = get_btc_quotes(start_date='2021-11-09', end_date='2021-11-11', symbols=symbols)

         import pandas as pd
         for quote_data in data['data']:
             symbol = quote_data['symbol']
             data_flat = [quote['quote']['USD'] for quote in quote_data['quotes']]
             df = pd.DataFrame(data_flat)

             c = df.iat[1,5]

             if c==0:
                print("La capitalización de mercado de su entrada es cero. Por favor intente con otra...")
             elif symbol not in open('/Users/DearUser/crypto_symbol_3.txt', 'r').read() and c!=0:
                open('/Users/DearUser/crypto_symbol_3.txt', 'a').write(f'"{symbol}": {c},\n')
             elif symbol in open('/Users/DearUser/crypto_symbol_3.txt', 'r').read():
                  print("¡Su entrada ya existe! Por favor intente de nuevo...")
      except:
            print("¡Su entrada no es válida! Por favor intente de nuevo...")

s = open(‘/Users/DearUser/crypto_symbol_3.txt’, ‘r’).read()
print(s)

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puedes modificar el código para extraer todos los símbolos criptográficos de Coinmarketcap utilizando la API de Coinmarketcap. Puede utilizar el punto final GET /v1/cryptocurrency/listings/latest para obtener el último listado de todas las criptomonedas activas. La respuesta incluirá el símbolo de cada criptomoneda. Luego, puedes guardar los símbolos en un archivo de texto y utilizarlo para procesamiento adicional.

Comments are closed.