Automatización de tareas repetitivas con scraping web
Cuando trabajamos con scraping web, muchas tareas se repiten constantemente: acceder a una web, esperar a que cargue, extraer datos, guardar resultados, cerrar sesión... Automatizar estos procesos no solo ahorra tiempo, sino que mejora la eficiencia, evita errores humanos y permite escalar proyectos a gran volumen.
Las tareas más comunes que podemos automatizar en un proyecto de scraping incluyen:
Flujo básico
Este ejemplo se puede lanzar cada día automáticamente con el uso de tareas programadas.
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 1. Inicializa el navegador
driver = webdriver.Chrome()
# 2. Accede a la web
driver.get("https://www.paraisovirgenextra.com/")
# 3. Espera a que cargue el contenido
time.sleep(2)
# 4. Interactúa: rellena formulario y hace clic
driver.find_element(By.XPATH, './/div[@class="ui input"]/input').send_keys("Cañada")
driver.find_element(By.XPATH, './/div[@class="ui input"]/button').click()
# 5. Espera y extrae resultados
time.sleep(2)
resultados = driver.find_elements(By.CLASS_NAME, "precios")
for r in resultados:
print(r.text)Simula un clic sobre un elemento:
driver.find_element(By.ID, "submit").click()Introduce un texto en un formulario:
driver.find_element(By.ID, "comment").send_keys(valoracion)Automatización temporal: ¿cómo ejecutar scripts de forma periódica?
En Windows: Programador de tareas
- Abre el Programador de tareas.
- Crea una nueva tarea básica.
- Define cuándo se ejecutará (diariamente, al iniciar el sistema...).
- Indica el script
.pyo un archivo.batque lo invoque. - ¡Listo! Tu scraper correrá sin que tengas que abrirlo manualmente.
- Monitorización de precios en Amazon: Automatiza la recolección de precios de un producto clave para detectar bajadas y adelantarte a la competencia.
- Extracción de titulares de noticias: Recolecta automáticamente los titulares de tus fuentes preferidas cada mañana para enviar un resumen por correo.
- Reporte diario de redes sociales: Extrae métricas de interacción desde plataformas como X, LinkedIn o Instagram (vía APIs o scraping), y genera un informe automatizado.