Para poder interactuar con algunas APIs que usan Python como yfinance tendrás que crearte tu entorno de Python en tu servidore web. En este artículo voy a detallar los pasos para instalar Python, crear un entorno virtual y hacer una primera
El primer paso es instalar el software necesario:
# sudo apt-get update# sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
# sudo apt-get install -yq git supervisor python python3-pip python3-distutils
Después de un rato instalando y configurando componentes, se completará la instalación instalando un entorno virtual y tambien instalaremos la libreria de yfinance que usaremos más adelante.
# sudo pip install --upgrade pip venv# sudo pip install yfinance
El siguiente paso es crear un Entorno Virtual sobre el que empezar a trabajar.
Crea una carpeta en la que vas a dejar los entornos:
# mkdir entornos# cd entornos
Una vez dentro de la carpeta, puedes crear un entorno ejecutando el comando:
# python3 -m venv mi_entorno
Este comando crea un nuevo directorio que ya tiene algo de contenido:
# source mi_entorno/bin/activate
Una vez estas dentro de la línea de comando puedes empezar a trabajar en él.
(mi_entorno) usuario@instance-1:~/entornos$ nano hola.py
print("Hola Mundo!")
Y cierra nano apretando Ctrl+X y guardando el contenido. Despues podrás ejecutar el programa:
(mi_entorno) usuario@instance-1:~/entornos$ python hola.py
Ahora el siguiente paso es crear una API web, para ello usaremos el framework Flask . Flask es un entorno ligero y flexible que facilita la creación de aplicaciones webs y APIs, provee herramientas y librerias que permiten gestionar las peticiones HTTP, el enrutado entre otras tareas.
Así pues, el siguiente paso es instalar Flask:
(mi_entorno) usuario@instance-1:~/entornos$ pip install flask
Con esto ya podemos empezar a crear nuestra aplicación. Como ejemplo, vamos a crear una aplicación web que consulta el valor de una acción cualquier, por ejemplo Para ello volvemos usar el editor nano y creamos un fichero que llamaremos api.py :
(mi_entorno) usuario@instance-1:~/entornos$ nano api.py
Y copiaremos el siguiente código de ejemplo que consulta el valor de Alphabet Inc:
from flask import Flask, jsonifyimport yfinance as yfapp = Flask(__name__)def obtener_precio(ticker):try:bbva = yf.Ticker(ticker)info = bbva.infoprecio_actual = info.get('regularMarketPrice')if precio_actual is None:precio_actual = info.get('previousClose')if precio_actual is None:return {"precio": "Precio no disponible"}else:return {"precio": precio_actual, "tipo": "Precio de cierre anterior"}return {"precio": precio_actual, "tipo": "Precio actual"}except Exception as e:print(f"Error al obtener datos: {e}")return {"error": "Error al obtener el precio"}@app.route('/precio')def obtener_precio_ruta():precio = obtener_precio("GOOG")return jsonify(precio) # Devuelve un JSONif __name__ == '__main__':app.run(debug=True)
Con el código guardado, procedemos a ponerlo en marcha llamando al fichero:
(mi_entorno) usuario@instance-1:~/entornos$ python api.py
Y vemos que este arranca y crea un servicio web que empieza a escuchar por el puerto 5000:
Si lanzamos una consulta al servicio usando el navegador de la línea de comando curl veremos que si esta funcionando como esperamos:
# curl http://127.0.0.1:5000/precio
En los siguiente artículos modificaremos la API para que pueda recibir el ticker como argumento, publicaremos la api como un servicio web de producción y crearemos una página web que pueda utilizar esta API.
Enlaces:
https://www.digitalocean.com/community/tutorials/how-to-make-a-web-application-using-flask-in-python-3
https://flask.palletsprojects.com/en/stable/
https://medium.com/@asvinjangid.kumar/creating-your-own-api-in-python-a-beginners-guide-59f4dd18d301
https://cloud.google.com/python/docs/setup?hl=es-419#linux_1
https://cloud.google.com/python/docs/setup?hl=es-419#linux_1
No hay comentarios:
Publicar un comentario