Python: Seguimiento en Vivo de Precios Crypto (Binance)

  • Save

Temas Principales:

  1. Construcción de un Rastreador de Precios en Tiempo Real: El objetivo principal del artículo es guiar a los lectores en la creación de una aplicación Python que pueda obtener y mostrar precios de criptomonedas en vivo desde la API de Binance utilizando WebSockets. El autor menciona que este video es el primero de una serie, con un video posterior dedicado a la implementación de un panel de control web para visualizar estos datos en tiempo real.
  • Cita: «in this video I’m going to show you how you pull live prices via the binance websocket API with python»
  • Cita: «in the subsequent video we are going to do the deployment meaning we going to show a local website doing exactly what you are seeing here so a life price updating dashboard»
  1. Uso de la API WebSocket de Binance: El artículo se centra en la utilización de la API WebSocket de Binance como la fuente de datos en tiempo real para los precios de las criptomonedas. Esto permite recibir actualizaciones de precios de forma continua sin necesidad de realizar solicitudes HTTP repetitivas.
  • Cita: «this python script pulls real-time cryptocurrency prices from binance using websocket»
  1. Implementación con Python: El lenguaje de programación utilizado para construir el sistema es Python, destacando su idoneidad para tareas de red y manipulación de datos JSON.
  2. Importancia de la Biblioteca websocket-client: Para interactuar con la API WebSocket, el script utiliza la biblioteca websocket-client de Python, facilitando la conexión, el envío y la recepción de mensajes a través del protocolo WebSocket.
  • Cita: «first of all Library Imports we need websocket for web socket communication Json for handling Json data»
  1. Uso de threading para Concurrencia: Un aspecto crucial del script es el uso de la biblioteca threading de Python. Esto permite ejecutar la conexión WebSocket en un hilo separado, evitando que bloquee el hilo principal del programa y manteniendo la aplicación receptiva para otras tareas (como manejar solicitudes HTTP en una futura aplicación Flask).
  • Cita: «we’ll use threading to ensure our web circuit connection runs continuously without blocking the main program»
  • Cita: «threading is used to run the web SEC Connection in the background that ensures that our main program remains responsive and can handle other tasks concurrently for example in a flask app more in the next video»
  1. Manejo de Eventos WebSocket: El script define funciones para manejar diferentes eventos del WebSocket:
  • on_message: Procesa los mensajes entrantes (los datos de precios en formato JSON).
  • Cita: «on message processes incoming messages… whenever a message is coming in we are loading it with the Jon module so we are just getting a python dictionary out of the Json object»
  • on_error: Maneja cualquier error que ocurra en la conexión WebSocket.
  • Cita: «on error handles errors»
  • on_close: Se ejecuta cuando se cierra la conexión WebSocket.
  • Cita: «on close manages the web circuit closing»
  • on_open: Se ejecuta cuando la conexión WebSocket se establece con éxito, y se utiliza para suscribirse a las actualizaciones de precios de los símbolos deseados.
  • Cita: «on open subscribes to the price updates when the connection opens… on open is important because you send that to the websocket API and you need to provide some parameters to the Subscribe message you are sending to the server»
  1. Formato de los Datos y Suscripción: Los datos de precios se reciben en formato JSON. La función on_open construye un mensaje de suscripción en formato JSON que se envía a la API de Binance, especificando los símbolos de criptomonedas de los que se desean recibir las actualizaciones de precios.
  • Cita: «the message has to be in Json format so that is what this one is doing Jason dumps and then translates this as you see python dictionary format into adjacent format so the API is understanding what you want from it and what you want is you want to subscribe to a certain stream you pass certain parameters and then and which is just a parameter you have to pass here so that can be anything but these parameters have to include what you want to pull and you see that you’re just pulling symbol at ticker for symbol in a load symbol»
  1. Almacenamiento y Visualización de Precios: Los precios recibidos se procesan y se almacenan en un diccionario Python (latest_prices), donde la clave es el símbolo de la criptomoneda y el valor es su precio actual. El script también imprime los precios en la consola en tiempo real.
  • Cita: «latest prices stores the latest flowing in price from the web socket… then we simply store this symbol in uppercase letters for better readability you can also store that in lowercase letters literally doesn’t make any difference it’s just for uh yeah just for convenience so this is just as you see indexing the dictionary and then is storing the price for that symbol»
  1. Continuidad de la Conexión WebSocket: La función run_forever() de la biblioteca websocket-client mantiene la conexión WebSocket activa de forma indefinida. Además, el script utiliza un bucle infinito en el hilo principal para evitar que el programa termine y cierre la conexión del WebSocket en el hilo secundario. Se implementa una interrupción de teclado para cerrar la conexión de manera controlada.
  • Cita: «this function simply sets up the web soet with our event handlers and runs it indefinitely as you see here run forever»
  • Cita: «this block here is just keeping the main program running using an infinite Loop so that ensures the web soet connection remains active so what I also did here I just set up a keyboard interrupt to close the web soet connection»

Ideas o Hechos Más Importantes:

  • El artículo demuestra cómo utilizar Python y la biblioteca websocket-client para interactuar con la API WebSocket de Binance y obtener precios de criptomonedas en tiempo real.
  • El uso de threading es fundamental para mantener la conexión WebSocket funcionando en segundo plano sin bloquear la ejecución del programa principal, lo cual es crucial para construir aplicaciones más complejas como dashboards web.
  • El proceso de suscripción a los datos de precios implica enviar un mensaje JSON específico a la API de Binance indicando los símbolos de interés.
  • El script maneja los datos de precios entrantes en formato JSON, los analiza y los almacena para su posterior uso o visualización.
  • Se proporciona un ejemplo de cómo iniciar y mantener activa la conexión WebSocket, así como una forma de cerrarla de manera segura.

Conclusiones:

El extracto del artículo proporciona una introducción clara y concisa sobre cómo construir un sistema básico de seguimiento de precios de criptomonedas en tiempo real utilizando Python y la API WebSocket de Binance. Se destaca la importancia de las bibliotecas websocket-client y threading para lograr una comunicación eficiente y no bloqueante con la API. El autor también anticipa la construcción de un panel de control web en un video posterior, lo que sugiere una aplicación práctica de los fundamentos presentados en este extracto. La motivación personal del autor para obtener visualizaciones también se menciona de manera informal.convert_to_textConvertir en fuenteNotebookLM puede ofrecer respuestas inexactas. Compruébalas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio
Share via
Copy link