Automatización de Citas
Automatizar el proceso de reserva de citas para
https://ais.usvisa-info.com/es-es/lista_de_paises/niv .
Se aceptan alternativas que sean igualmente indetectables a las soluciones propuestas. Si existen, por favor sugiéralas en el chat.
Cómo funciona el automatizador
El usuario debe iniciar sesión manualmente y navegar a la página de citas antes de activarlo. Luego, el automatizador realizará los siguientes pasos:
Buscar citas disponibles – Actualiza constantemente la página.
Filtrar por fecha – Selecciona solo citas dentro del límite establecido.
Reservar la cita – Si se encuentra un espacio disponible, lo selecciona y confirma sin la intervención del usuario.
Repetir si es necesario – Si no hay citas disponibles, continuará buscando hasta encontrar una.
Configuración
Para personalizar su funcionalidad, se deben permitir las siguientes configuraciones:
Fecha máxima permitida – Solo reservará citas hasta esta fecha.
Ejemplo: "max_date": "2024-03-30"
Intervalo de actualización – Especifica con qué frecuencia en segundos se actualizará la página.
Ejemplo: "refresh_interval": 10
Pasos para Usar
1. Preparación
Iniciar sesión manualmente en el portal.
Navegar a la página de búsqueda de citas.
Activar el automatizador.
2. Operación del automatizador
Actualizar página – Actualiza periódicamente la página.
Buscar citas disponibles – Filtra según la fecha configurada.
Reservar cita – Si la encuentra, la selecciona y confirma automáticamente.
Continuar buscando – Si no hay citas disponibles, seguirá refrescándose hasta encontrar una.
3-Especificaciones de Programación – Sin Selenium ni Herramientas Similares
-Simulación de Usuario
Real -Simula la navegación de un usuario real.
-Realiza clics naturales en botones como "Siguiente" y "Confirmar".
-Lee nombres de perfil y descripciones usando OCR sin inspeccionar el código web.
-Evita interacciones directas con el DOM para evitar la detección.
-Utiliza movimientos aleatorios y pausas similares a las humanas para evitar patrones predecibles.
3.1-Lenguaje y Librerías
Lenguaje: Python
Motivo: Habilita la automatización sin modificar el navegador.
Función de Librería
pynput Simula movimientos indetectables del mouse.
Pydirectinput Alternativa a pyautogui, más difícil de detectar.
Pytesseract ocr para leer texto en pantalla sin acceder al dom.
Opencv-python Mejora la calidad de la imagen antes del procesamiento de OCR.
Numpy Manipulación de imágenes para mejorar la precisión del OCR.
Time, random Introduce pausas y aleatoriedad para imitar el comportamiento humano.
Simulación natural de clic y mouse
Movimientos suaves y aleatorios evitan trayectorias rectas y artificiales.
Clics con ligeras variaciones de posición.
Pausa antes y después de las acciones para simular el comportamiento humano.
Simula vacilación moviendo levemente el mouse antes de hacer clic.
Evita hacer clic repetidamente en las mismas coordenadas exactas.
Lectura de 4 pantallas con ocr sin acceder al dom
captura el área donde aparecen los nombres y las descripciones usando pyautogui.screenshot.
Binariza la imagen y ajusta el contraste para mejorar la precisión del OCR.
Detecta si la imagen contiene texto antes de procesarla, evita falsos positivos.
Flujo de trabajo de Automator
Captura la pantalla en el área donde aparecen los nombres y las descripciones.
Procesa la imagen con OCR para extraer texto.
Mueve el mouse de forma natural hacia los botones de interacción.
Hace clic aleatoriamente dentro del área del botón.
Espera una cantidad de tiempo aleatoria antes de repetir la acción.
Repite el proceso según el objetivo configurado.
Evitar la detección y la automatización obvia
Aleatoriza las pausas entre acciones.
Simula la lectura antes de hacer clic.
Agrega un margen de error en cada movimiento del mouse.
Evita secuencias de clic repetitivas y predecibles.
Manejo de problemas comunes
"El sistema está ocupado." → Se volverá a intentar hasta que se reserve una cita.
"El horario está en blanco." → Se intentará con la siguiente fecha disponible.
"No se pudo programar su cita." → Se seguirá intentando hasta que tenga éxito.
Error o falla de la página. → Se activará una VPN y se volverá a intentar el acceso.
Entregables
Código completamente funcional con todas las características descritas.
Archivo de configuración editable.
Documentación de uso simple.
Conclusión
Este automatizador simplifica el proceso de reserva de citas al eliminar la necesidad de actualizar la página manualmente. Además, implementa estrategias para evitar la detección automatizada, imitando el comportamiento humano en sus interacciones con el portal.
Plazo de Entrega: No definido