74 lines
2.9 KiB
Markdown
74 lines
2.9 KiB
Markdown
Aplicación de escritorio desarrollada en Python (Tkinter) que integra diversas utilidades de sistema, gestión de hilos, y funcionalidades avanzadas como Web Scraping con automatización de navegador.
|
|
|
|
## 📸 Demostración y Presentación
|
|
|
|
### Captura de Pantalla
|
|

|
|
|
|
### Video Explicativo
|
|
🔗 [Ver Video Explicativo del Proyecto](https://www.youtube.com/watch?v=0gaP-n2hHZ0)
|
|
🔗 [Mp4 En Drive](https://drive.google.com/file/d/11lnanegwVooLlKMprl1FPUbef9PlVqDD/view?usp=sharing)
|
|
|
|
---
|
|
|
|
## 🚀 Características Principales
|
|
|
|
Este proyecto demuestra el uso de la concurrencia (`threading`, `asyncio`), persistencia de datos (`shelve`), y control de procesos externos.
|
|
|
|
| Módulo | Descripción | Tecnología Clave |
|
|
| :--- | :--- | :--- |
|
|
| **Monitor de Sistema** | Gráficos en tiempo real de uso de CPU, Memoria y Tráfico de Red. | `psutil`, `matplotlib` |
|
|
| **Gestor de Alarmas** | Programación de alarmas persistentes con notificaciones pop-up. | `shelve`, `datetime` |
|
|
| **Reproductor de Audio** | Reproducción de música MP3/OGG en segundo plano. | `pygame.mixer` |
|
|
| **Web Scraper (Amazon)** | **Scraping de productos de Amazon** con búsqueda por parámetro, superando defensas *anti-bot* y carga dinámica (JavaScript). | **`Playwright`**, `asyncio`, `BeautifulSoup` |
|
|
| **Carrera de Camellos** | Simulación de carrera multihilo para demostrar la gestión de recursos compartidos y prevención de *deadlocks* mediante `threading.RLock`. | `threading`, `RLock` |
|
|
| **Lanzador Externo** | Ejecución de comandos del sistema operativo (ej. abrir navegador con URL). | `subprocess`, `webbrowser` |
|
|
|
|
---
|
|
|
|
## ⚙️ Instalación y Requisitos
|
|
|
|
Este proyecto requiere Python 3.8+ y las librerías listadas en **`dependencias.txt`**.
|
|
|
|
### 1. Clona el Repositorio
|
|
|
|
```bash
|
|
git clone https://git.ieslamar.org/mireya/ProyectoPSP.git
|
|
cd ProyectoPSP
|
|
```
|
|
|
|
### 2. Creación e instalación del entorno
|
|
Es altamente recomendable usar un entorno virtual (venv):
|
|
```bash
|
|
python3 -m venv venv
|
|
source venv/bin/activate # Linux/macOS
|
|
# o
|
|
venv\Scripts\activate # Windows
|
|
```
|
|
|
|
### 3. Instalación de dependencias
|
|
Una vez en el entorno virtual, instala todas las librerías con este único comando:
|
|
```bash
|
|
pip install -r dependencias.txt
|
|
```
|
|
|
|
### 4. Instalación de Navegadores Playwright
|
|
El módulo de Web Scraping requiere la instalación de los binarios de los navegadores para Playwright (utilizamos Firefox por defecto):
|
|
```bash
|
|
playwright install firefox
|
|
```
|
|
|
|
---
|
|
|
|
## ▶️ Uso de la Aplicación
|
|
Para iniciar la aplicación principal, asegúrate de estar en el directorio adecuado y ejecuta:
|
|
```bash
|
|
python main.py
|
|
```
|
|
|
|
---
|
|
|
|
## Notas Adicionales
|
|
Archivos de Persistencia: Los archivos de datos como alarm_data.db, notepad_data.txt, y amazon_productos_resultados.json se crearán automáticamente al usar las funcionalidades.
|
|
|
|
Compatibilidad: El proyecto ha sido desarrollado para ser compatible con entornos Linux y Windows. |