Mostrando entradas con la etiqueta automatizaci贸n. Mostrar todas las entradas
Mostrando entradas con la etiqueta automatizaci贸n. Mostrar todas las entradas

domingo, 3 de agosto de 2025

馃攼 Python Nivel 3 – Parte 5: Consumo de APIs con Autenticaci贸n (Tokens, Headers)

 

馃幆 ¿Qu茅 aprender谩s?

✅ C贸mo consumir APIs que requieren autenticaci贸n
✅ Diferencias entre APIs con tokens, headers o claves API
✅ Uso de tokens tipo JWT
✅ Ejemplo real con la API de CoinCap
✅ C贸mo automatizar consultas autenticadas


馃實 API real: CoinCap (criptomonedas)

馃敆 Documentaci贸n: https://docs.coincap.io/

Esta API ofrece cotizaciones de criptomonedas. Algunas rutas requieren autenticaci贸n con API Key v铆a encabezado.


馃摝 Paso 1: Instala requests


pip install requests

馃攼 Paso 2: Crea una cuenta y consigue tu API KEY

  1. Ve a https://coincap.io/

  2. Crea cuenta gratuita

  3. Copia tu clave API


馃搫 Paso 3: Realiza consulta autenticada


import requests # Tu API Key Pro API_KEY = "TU_API_KEY" # URL de CoinCap Pro v3 url = f"https://rest.coincap.io/v3/assets/bitcoin?apiKey={API_KEY}" try: respuesta = requests.get(url) if respuesta.status_code == 200: datos = respuesta.json() # La estructura cambia en v3: datos dentro de "data" precio = float(datos['data']['priceUsd']) print(f"El precio actual de Bitcoin es: ${precio:.2f}") else: print("Error al obtener los datos de Bitcoin") print(f"C贸digo de estado: {respuesta.status_code}") print(f"Mensaje de error: {respuesta.text}") except Exception as e: print("❌ Error de conexi贸n:", e)

馃攣 Automatizar la consulta

Puedes ejecutar el script cada hora o guardar el valor en un .txt para seguimiento:

import time
while True: r = requests.get(url, headers=headers) if r.ok: precio = r.json()["data"]["priceUsd"] print(f"[Auto] BTC: ${float(precio):,.2f}") time.sleep(3600) # cada hora

✅ ¿Y si la API usa JWT?

  • Algunas APIs env铆an un token JWT al hacer POST con usuario/clave.

  • Lo guardas y lo reutilizas en headers como:
    "Authorization": "Bearer TOKEN_JWT"

馃攼 Recomendaci贸n: Usa variables de entorno o ficheros .env para guardar tus claves, no las pongas directo en el c贸digo.


馃 Aplicaciones reales

✔️ Dashboards de precios en tiempo real
✔️ Integraci贸n con bots (Telegram, Discord, etc.)
✔️ Automatizaci贸n de alertas econ贸micas
✔️ Automatizaci贸n de reportes o backups usando datos externos


馃搨 C贸digo completo en GitHub:
github.com/josecodetech

馃帴 Gu铆a paso a paso en YouTube:
[Tu canal aqu铆]



domingo, 27 de julio de 2025

馃寪 Python Nivel 3 – Parte 4: Manejo de APIs y Automatizaci贸n de Consultas HTTP

 

馃幆 ¿Qu茅 aprender谩s?

✅ Qu茅 es una API y c贸mo funciona
✅ C贸mo enviar peticiones HTTP desde Python (GET, POST, etc.)
✅ C贸mo consumir datos en formato JSON
✅ C贸mo automatizar consultas a servicios externos
✅ C贸mo manejar errores y respuestas


馃攳 ¿Qu茅 es una API?

Una API (Interfaz de Programaci贸n de Aplicaciones) permite que dos sistemas se comuniquen. En la web, usamos API REST para acceder a datos, enviar formularios, consultar servicios, etc.


馃摝 Usando requests para consumir APIs

Primero, instala el m贸dulo si no lo tienes:


pip install requests

✅ Ejemplo 1: Consultar una API p煤blica (GET)


import requests url = "https://jsonplaceholder.typicode.com/posts/1" respuesta = requests.get(url) if respuesta.status_code == 200: datos = respuesta.json() print(f"T铆tulo: {datos['title']}") else: print("Error al consultar la API")

✅ Ejemplo 2: Enviar datos (POST)


import requests url = "https://jsonplaceholder.typicode.com/posts" nuevo_post = { "title": "Nuevo post", "body": "Contenido del post", "userId": 1 } respuesta = requests.post(url, json=nuevo_post) print(respuesta.json())

馃攣 Automatizar llamadas a una API

Puedes combinar esto con el programador de tareas de Windows o un bucle para automatizar la consulta de datos:


import time while True: r = requests.get("https://api.exchangerate-api.com/v4/latest/USD") if r.ok: euro = r.json()["rates"]["EUR"] print(f"1 USD = {euro} EUR") time.sleep(3600) # espera 1 hora

馃洃 Manejo de errores y excepciones


try: respuesta = requests.get("https://api.fallida.com/data") respuesta.raise_for_status() print(respuesta.json()) except requests.exceptions.HTTPError as e: print("Error HTTP:", e) except requests.exceptions.RequestException as e: print("Error general:", e)

馃 Aplicaciones comunes

  • Consultar precios de criptomonedas o monedas

  • Obtener el clima actual

  • Enviar formularios autom谩ticamente

  • Automatizar tareas de scraping de datos

  • Consultar servicios internos de una empresa


馃搨 C贸digo en GitHub:
github.com/josecodetech

馃帴 Tutorial en YouTube:
https://youtu.be/LgJQW_fbZeY



s谩bado, 19 de julio de 2025

馃И Python Nivel 2 – Parte 17: Argumentos desde Consola con argparse

馃П ¿Qu茅 es argparse?

argparse es un m贸dulo de Python para crear interfaces de l铆nea de comandos f谩cilmente.

Permite que tu programa reciba instrucciones como:


python programa.py --nombre Ana --edad 25

馃И Ejemplo b谩sico:


import argparse parser = argparse.ArgumentParser(description="Ejemplo de uso de argparse") parser.add_argument("--nombre", type=str, required=True, help="Tu nombre") parser.add_argument("--edad", type=int, required=True, help="Tu edad") args = parser.parse_args() print(f"Hola {args.nombre}, tienes {args.edad} a帽os.")

✅ Ejecutar el script desde consola:


python programa.py --nombre Jose --edad 30

馃摛 Salida:


Hola Jose, tienes 30 a帽os.

馃敡 Argumentos opcionales con valores por defecto:


parser.add_argument("--saludo", type=str, default="Hola", help="Saludo personalizado")

馃摝 Tambi茅n puedes mostrar ayuda autom谩ticamente:


python programa.py --help

馃 Esto genera un mensaje con los argumentos requeridos y sus descripciones.


馃洜 Casos de uso reales

✔️ Automatizar tareas (copias, procesamiento de archivos)
✔️ Crear herramientas de l铆nea de comandos
✔️ Pasar rutas de archivos, filtros, claves, par谩metros
✔️ Crear scripts para cron jobs o tareas por lotes


馃 ¿Qu茅 aprendiste hoy?

✔️ A leer par谩metros desde consola
✔️ A usar argparse para mejorar tus scripts
✔️ A crear herramientas m谩s profesionales y reutilizables
✔️ A integrar entradas externas en tus programas


馃搨 C贸digo de ejemplo en GitHub:
github.com/josecodetech

馃帴 Video explicativo en YouTube:

https://youtu.be/atngTsBwA5I


jueves, 17 de abril de 2025

馃И Python Nivel 1 – Parte 3: Bucles for y while

 

Los bucles nos permiten repetir tareas autom谩ticamente sin escribir el mismo c贸digo muchas veces. En esta lecci贸n trabajaremos con while y for, dos estructuras fundamentales para automatizar procesos.

A trav茅s de estos 4 ejercicios pr谩cticos aprender谩s a controlar la repetici贸n y recorrer valores paso a paso.


✅ Ejercicio 9: Contar del 1 al 10 con while

馃搶 Objetivo: Repetir una acci贸n mientras una condici贸n sea verdadera.


i = 1 while i <= 10: print(i) i += 1

馃 Aprendiste:
✔️ Controlar bucles con condiciones
✔️ Incrementar variables
✔️ Evitar bucles infinitos


✅ Ejercicio 10: Tabla de multiplicar con for

馃搶 Objetivo: Usar for para repetir una operaci贸n 10 veces.


numero = int(input("Introduce un n煤mero: ")) for i in range(1, 11): print(f"{numero} x {i} = {numero * i}")

馃 Aprendiste:
✔️ C贸mo funciona range()
✔️ Repeticiones controladas
✔️ Aplicaci贸n matem谩tica con for


✅ Ejercicio 11: Suma acumulada de N n煤meros

馃搶 Objetivo: Usar for para pedir varios valores y sumarlos.


n = int(input("¿Cu谩ntos n煤meros vas a sumar?: ")) suma = 0 for i in range(n): numero = float(input(f"Introduce el n煤mero {i + 1}: ")) suma += numero print(f"La suma total es: {suma}")

馃 Aprendiste:
✔️ C贸mo acumular valores
✔️ C贸mo combinar entrada del usuario con repeticiones
✔️ Control de variables con range(n)


✅ Ejercicio 12: Adivina el n煤mero secreto

馃搶 Objetivo: Usar while hasta que se cumpla una condici贸n concreta.


import random secreto = random.randint(1, 10) intento = None while intento != secreto: intento = int(input("Adivina el n煤mero (entre 1 y 10): ")) if intento < secreto: print("Demasiado bajo.") elif intento > secreto: print("Demasiado alto.") print("馃帀 ¡Correcto! Has adivinado el n煤mero.")

馃 Aprendiste:
✔️ Comparar valores en un bucle
✔️ Introducir l贸gica con if dentro de un while
✔️ Usar la librer铆a random para generar valores aleatorios


馃殌 ¿Qu茅 aprendiste en esta lecci贸n?

✅ A usar bucles while para repetir hasta que algo se cumpla
✅ A usar for para iterar una cantidad conocida de veces
✅ A combinar bucles con condicionales e interacci贸n del usuario
✅ A crear peque帽os algoritmos 煤tiles y pr谩cticos


馃搨 C贸digo completo disponible en:
github.com/josecodetech

馃帴 Tutorial en YouTube paso a paso:
https://www.youtube.com/watch?v=1MwTgv4XQsE

馃挰 ¿Con cu谩l bucle te sientes m谩s c贸modo: for o while? ¿Te gustar铆a practicar con listas o juegos? ¡Com茅ntalo!