BAS y proxys móviles: cómo configurar multihilo — guía paso a paso
Introducción
En esta guía paso a paso aprenderás a iniciar una automatización multihilo estable en Browser Automation Studio (BAS) utilizando proxies móviles. Configuraremos el entorno, conectaremos los proxies móviles, crearemos un guion multihilo y verificaremos los resultados. Al final, obtendrás un proyecto BAS que se ejecuta en varios hilos, utiliza IP móviles únicas por hilo, registra las acciones correctamente y se recupera de imprevistos. Desglosaremos cada acción para minimizar el riesgo de errores y ahorrar tu tiempo.
Este material está dirigido a principiantes con elementos para usuarios avanzados. Si nunca has trabajado con BAS, podrás repetir todos los pasos gracias a las instrucciones detalladas. Si ya tienes un conocimiento básico sobre automatización, encontrarás prácticas listas para optimizar la multihilo, trabajar de manera segura con proxies móviles y manejar errores de forma confiable.
Antes de comenzar, es importante conocer los conceptos básicos del uso de computadoras, saber instalar programas y entender términos básicos como "proxy", "hilo", "timeout". No se necesitan habilidades complejas de programación: todo el proceso se basa en bloques visuales de BAS, configuraciones claras y comprobaciones.
Reserva entre 2 a 4 horas para completar todos los pasos. Será más tiempo si es la primera vez que instalas herramientas y configuras proxies móviles. Sin embargo, después de la configuración inicial, podrás escalar rápidamente los guiones y ejecutarlos en diferentes máquinas.
Consejo: Si deseas ir directamente a la configuración del proxy, utiliza el enlace interno a la sección "Paso 3: Conexión y configuración de proxies móviles en BAS" — véase más abajo. Si te interesan los problemas y sus soluciones, dirígete a la sección "Errores comunes y soluciones" — véase más abajo.
Preparación previa
Para trabajar con éxito necesitarás algunas herramientas obligatorias y pasos preparatorios. Sigue la lista para no omitir nada. También indicaremos los requisitos del sistema y explicaremos qué debes descargar y cómo instalar correctamente.
Herramientas, programas y accesos necesarios
- Computadora con Windows 10 o superior. BAS está oficialmente orientado a Windows; el lanzamiento en Linux a través de compatibilidad es posible, pero no se cubre en esta guía.
- La versión actual de Browser Automation Studio (BAS) de 2026. Debes descargarla e instalarla.
- Cuenta con un proveedor de proxies móviles. Diversos proveedores son válidos; como ejemplo, a menudo se utilizan proxies móviles con rotación flexible, como mobileproxy.space.
- Editor de texto para notas (por ejemplo, el Bloc de notas estándar) y una hoja de cálculo (por ejemplo, Excel) para almacenar datos de proxy y logins.
- Espacio libre en disco de al menos 5 GB para la instalación de BAS, datos temporales y registros.
Requisitos del sistema
- Sistema operativo: Windows 10/11 (64 bits).
- Memoria RAM: desde 8 GB (se recomienda 16 GB o más para un uso intensivo de multihilo).
- Procesador: 4 núcleos o más (se recomiendan de 6 a 8+ núcleos para una multihilo estable).
- Espacio libre en el disco: mínimo 5 GB.
- Conexión a Internet estable: desde 20 Mbps, se prefieren bajas latencias.
Descargas, instalación y configuraciones necesarias
- Descarga el paquete de instalación de BAS desde el recurso oficial del desarrollador. Asegúrate de que la versión sea actual (2026) y adecuada para tu sistema operativo.
- Instala BAS siguiendo el asistente de instalación estándar: botones "Siguiente", "Aceptar", "Instalar". Inicia BAS después de completar la instalación.
- Obtén acceso a proxies móviles de tu proveedor. Asegúrate de que tienes IP/dominio, puerto, tipo de autorización (login/password o por dirección IP), así como la documentación sobre el cambio de IP (rotación).
- Crea una carpeta para proyecto de BAS, registros y copias de seguridad. Ejemplo: C:\BAS\Projects\MobileProxyMultithread.
- Prepara un archivo CSV con datos de prueba (si el guion lo requiere), por ejemplo, una lista de URL para visitar. Ejemplo de archivo: urls.csv con líneas en el formato https://example.org/test1, https://example.org/test2.
Creación de copias de seguridad
Las copias de seguridad permiten revertir rápidamente al estado de funcionamiento si algo sale mal.
- Crea una copia de la carpeta del proyecto BAS después de cada cambio significativo: agregaste proxies — hiciste una copia de seguridad; agregaste multihilo — hiciste una copia de seguridad.
- Almacena las copias en subcarpetas con la fecha: C:\BAS\Backups\2026-06-xx\.
- Los archivos del guion BAS (.xml) y los recursos (CSV, JSON, logotipos) también deben duplicarse en una carpeta separada "Backup_Resources".
⚠️ Atención: Si ejecutas guiones en una computadora de trabajo, asegúrate de que el antivirus no bloquea la actividad de BAS. Añade la carpeta BAS a las excepciones si es necesario. Antes de esto, asegúrate de la seguridad de las fuentes.
✅ Comprobación: Tienes BAS instalado, acceso activo a proxies móviles (login/password o autorización por IP), has creado la estructura de carpetas para el proyecto y copias de seguridad, y tienes los datos de prueba preparados.
Conceptos básicos
Antes de la configuración, pasemos a la teoría a un nivel práctico. La comprensión clara de los términos te ahorrará tiempo en los siguientes pasos.
Qué es BAS en palabras simples
Browser Automation Studio es una herramienta visual para automatizar acciones en el navegador. Construyes un guion a partir de bloques, como un constructor. Cada acción es un bloque: "Abrir URL", "Hacer clic", "Introducir texto", "Cambiar proxy", "Ejecutar en hilo", etc. BAS no requiere un profundo conocimiento de programación. Sin embargo, permite flexibilidad y resolver tanto tareas simples como complejas: scraping, validación de formularios, monitoreo, gestión de cuentas, pruebas.
Proxies y proxies móviles
Un proxy es un servidor intermedio entre tu computadora y el sitio que visitas. Cuando utilizas un proxy, el sitio ve la IP del proxy, no la tuya. Los proxies móviles son aquellos proporcionados a través de redes celulares (3G/4G/5G), por lo que sus direcciones IP pertenecen a un rango "móvil". Esto es útil para aumentar la confianza en el tráfico y reducir bloqueos falsos, siempre que las tareas se realicen de manera correcta y legal. Diferentes proveedores tienen funciones para cambiar IP (rotación) ya sea programada o a demanda. Como ejemplo de proveedor, puedes considerar mobileproxy.space, donde se ofrece una rotación conveniente y diferentes puntos de acceso.
Multihilo
La multihilo en BAS implica ejecutar simultáneamente varias copias del mismo guion. Cada hilo trabaja de forma independiente: con sus propios datos, proxy y registros. Esto permite acelerar la ejecución de acciones repetitivas. Es importante dividir adecuadamente los recursos: asignar un proxy único para cada hilo, configurar tiempos de espera, colas y límites para evitar conflictos y sobrecargas.
Lo que es importante entender antes de comenzar
- Un hilo — un proxy. Esta es la regla básica para la estabilidad y minimización de cruzamientos.
- La rotación de IP debe ser predecible. Configura el cambio de IP en intervalos seguros y solo cuando sea necesario, para no levantar sospechas en los sitios.
- Los registros y reportes son tus mejores amigos. Anota eventos clave y errores. Esto facilita enormemente la depuración.
- Cualquier automatización debe cumplir con las leyes y reglas de uso de los sitios objetivo. Trabaja solo con tareas y datos autorizados.
Consejo: Si es la primera vez que configuras proxies móviles, comienza con 1–2 hilos. Cuando te asegures de la estabilidad, avanza a 5, 10 y más. Así sabrás los límites de tu máquina y proxy.
✅ Comprobación: Entiendes que cada hilo trabaja con un proxy separado, por qué es necesaria la rotación y por qué es importante registrar eventos. Estás listo para pasar a la instalación y construcción del proyecto.
Paso 1: Instalación y primer lanzamiento de BAS
Objetivo de la etapa
Instalar y ejecutar correctamente la versión actual de BAS, asegurando el funcionamiento de la interfaz y las funciones básicas.
Instrucciones paso a paso
- Abre el instalador de BAS y sigue los pasos del asistente ("Siguiente", "Aceptar", "Instalar").
- Inicia BAS. En la primera pantalla verás la ventana principal con el menú, lista de proyectos, panel de acciones y consola de registros.
- Crea una carpeta para el proyecto: C:\BAS\Projects\MobileProxyMultithread. En BAS, en el menú "Archivo", selecciona "Guardar proyecto como..." y guarda un proyecto vacío como MobileProxyMultithread.xml en la carpeta indicada.
- Abre la sección de acciones (a la izquierda). Encuentra los bloques "Browser", "Network", "Flow" — los necesitaremos más adelante.
- Verifica el funcionamiento del módulo del navegador: añade el bloque "Open URL" y especifica https://example.org. Haz clic en "Ejecutar". Asegúrate de que BAS abra el navegador integrado y cargue la página.
Puntos importantes
- No cierres la ventana del navegador durante el lanzamiento de prueba. Esto es parte del proceso.
- Si la página no se abre, verifica la conexión a Internet y la configuración del cortafuegos.
Resultado esperado
La página se carga con éxito, no hay errores críticos en los registros, el proyecto se guarda en la carpeta seleccionada.
Problemas posibles y soluciones
- Problema: BAS no se inicia. Causa: bloqueo por el antivirus. Solución: añade BAS a las excepciones.
- Problema: la página de prueba no se abre. Causa: restricciones de red. Solución: verifica el acceso a Internet y la configuración del proxy en el sistema (en la etapa de prueba no se necesitan).
✅ Comprobación: En la ventana de BAS ves la página cargada y los estados verdes en los registros. El archivo del proyecto MobileProxyMultithread.xml está guardado.
Paso 2: Estructura del proyecto y recursos
Objetivo de la etapa
Crear una estructura clara para el proyecto BAS con recursos (archivos de datos, registros, resultados) para que sea fácil escalar y mantener más adelante.
Instrucciones paso a paso
- En la carpeta del proyecto crea subcarpetas: data, logs, output, backups.
- Crea el archivo data\urls.csv con 5–10 direcciones de prueba. Formato: una URL por línea. Por ejemplo: https://httpbin.org/ip, https://example.org.
- En BAS añade "Resource" para leer el archivo urls.csv: en la sección "Resources" haz clic en "Add Resource", selecciona el tipo "File", especifica la ruta a data\urls.csv, modo "Line by line" (por líneas).
- Agrega el bloque "Load From Resource" para leer la URL del recurso en una variable, por ejemplo, url_current.
- Agrega el bloque "Log" y muestra el valor {{url_current}} para control.
- Guarda el proyecto (Ctrl+S).
Puntos importantes
- Nombrar cada recurso claramente: res_urls, res_accounts, etc. Esto facilitará el mantenimiento.
- Si planeas varios guiones, mantiene los recursos en carpetas separadas por tareas.
Resultado esperado
El proyecto lee línea por línea del archivo urls.csv, registra el valor en el log y está listo para abrir páginas de acuerdo con la lista.
Problemas posibles y soluciones
- Problema: error al leer el archivo. Causa: ruta incorrecta o codificación. Solución: verifica la ruta y utiliza UTF-8 sin BOM.
- Problema: el recurso no cambia de línea. Causa: modo incorrecto. Solución: establece "Line by line" y activa el auto-incremento.
✅ Comprobación: Al ejecutar, ves en los registros las líneas de urls.csv y el valor de la variable url_current.
Paso 3: Conexión y configuración de proxies móviles en BAS
Objetivo de la etapa
Conectar proxies móviles al proyecto BAS de tal manera que cada hilo utilice su propia IP. Configurar rotación segura y verificación de conexión.
Instrucciones paso a paso
- Determine el formato de acceso a los proxies. Generalmente, es uno de los siguientes: http(s)://user:pass@host:port o socks5://user:pass@host:port. Si la autorización es por IP, asegúrate de que tu IP externa esté en la lista blanca del proveedor.
- Prepara una lista de proxies. Crea el archivo data\proxies.csv, donde cada línea es un proxy. Ejemplo: http://user1:pass1@mp1.example.net:3000, http://user2:pass2@mp2.example.net:3000. Si usas mobileproxy.space, especifica los hosts y puertos que te han proporcionado en este formato.
- En BAS crea un recurso res_proxies para leer desde data\proxies.csv. Modo "Line by line".
- Antes de abrir el navegador, inserta el bloque "Set Proxy" de la sección "Network" o "Browser/Proxy". En el campo proxy especifica la variable leída del recurso, por ejemplo {{proxy_current}}.
- Agrega el bloque "HTTP Request" o "Open URL" a un servicio de verificación de IP, como https://httpbin.org/ip. El objetivo es asegurar que el tráfico pase a través del proxy. Muestra la respuesta en el log y verifica que la IP sea diferente a la tuya real.
- Rotación de IP. Si tu proveedor ofrece API para cambiar IP (a menudo es así para los proveedores móviles), crea un bloque "HTTP Request" separado para llamar a la rotación. No llames a la rotación demasiado a menudo. Se recomienda realizarla: a) al iniciar el hilo, b) al enfrentar un error de conexión específico, c) en intervalos seguros (por ejemplo, cada 10–20 minutos), si está permitido por la documentación del proveedor.
- Agrega una verificación de resultado después de la rotación. Llama nuevamente a la verificación de IP y asegúrate de que ha cambiado si se ha solicitado una rotación.
- Guarda el proyecto (Ctrl+S) y realiza una copia de seguridad en la carpeta backups con marca de tiempo.
Puntos importantes
- Un hilo — un proxy. No compartas un proxy entre hilos. Esto reduce la estabilidad y complica la depuración.
- No superes los límites de rotación. Consulta con el proveedor la frecuencia permitida. Rotaciones excesivas pueden causar errores.
- Registros de conexión son obligatorios. Siempre registra qué proxy ha sido asignado al hilo y qué IP se ha determinado después de la verificación.
Consejo: Si utilizas mobileproxy.space, establece puntos finales de rotación separados para cada módem/bahía, para gestionar el cambio de IP de forma individual y sin afectar a otros hilos.
Consejo: Si la autorización es por IP, verifica regularmente la IP externa actual de tu máquina. Si cambias de red, actualiza la lista blanca en el proveedor.
Resultado esperado
El proyecto carga proxies desde el archivo, establece su uso antes de lanzar el navegador, pasa la verificación de IP con éxito y puede solicitar la rotación cuando sea necesario.
Problemas posibles y sus soluciones
- Problema: "Se requiere autenticación de proxy". Causa: credenciales incorrectas. Solución: verifica los datos de inicio de sesión y el formato de la línea en proxies.csv.
- Problema: IP no cambia después de la rotación. Causa: solicitudes de rotación demasiado frecuentes o retardo en el proveedor. Solución: espera entre 30 y 120 segundos, aumenta el intervalo de rotación.
- Problema: conexión inestable. Causa: señal débil del módem en el proveedor. Solución: cambia el punto de salida o usa otra bahía del proveedor móvil.
✅ Comprobación: En los registros ves el proxy asignado al hilo, la carga exitosa de la página de verificación de IP y la IP cambiante correctamente al rotar. No hay errores de autorización.
Paso 4: Multihilo básico — plantilla de lanzamiento
Objetivo de la etapa
Configurar en BAS el lanzamiento multihilo con aislamiento de recursos: a cada hilo su propia línea de proxies.csv y su propio conjunto de URL.
Instrucciones paso a paso
- Determina el número de hilos para la prueba. Comienza con 2–3 hilos.
- Añade a tu proyecto los bloques "Threads" o usa "Run In Threads" (dependerá de la versión de la interfaz). Establece la variable threads_count, por defecto 3.
- Crea el recurso res_proxies con modo "Take row and lock", si está disponible, o organiza manualmente la entrega de líneas por índice, para que cada hilo reciba una línea única. Alternativa: usa "Take Line" con transición automática a la siguiente línea y bloqueo.
- Para los datos URL crea una distribución independiente: si quieres que los hilos tomen diferentes URL, usa un recurso separado res_urls con "Take Line" y bloqueo. Si cada hilo debe procesar la misma lista, trabaja con una copia del arreglo en memoria.
- Dentro del cuerpo del hilo establece el proxy de la línea única res_proxies, realiza la verificación de IP y luego un ciclo por URL: abrir la página, esperar la carga, registrar el estado en el log.
- Agrega tiempos de espera y retrasos. Entre las aperturas de páginas usa "Sleep" de 2 a 5 segundos, para disminuir picos de carga y evitar sospechas excesivas en los sitios.
- Registra los logs por hilos. En el nombre del archivo del log usa la variable de hilo, por ejemplo logs\thread_{{thread_id}}.log, para facilitar la depuración.
- Guarda el proyecto y ejecútalo en 3 hilos para prueba.
Puntos importantes
- El aislamiento de recursos es crítico. Asegúrate de que dos hilos no tomen la misma línea de proxies.csv al mismo tiempo.
- Estabiliza los retrasos. Cuanto mayor sea el número de hilos, mayor será la probabilidad de colisiones en la red. Retrasos moderados aumentan la estabilidad.
Consejo: Comienza la prueba con 1 hilo, luego 2, después 3. En cada etapa verifica los registros y el consumo de recursos (CPU, RAM, red). Esto evitará fallos repentinos al escalar.
Consejo: Asigna un nombre al hilo que contenga el número y un breve propósito, como "T3_Parse". Esto es útil al investigar los registros.
Resultado esperado
El guion se inicia simultáneamente en varios hilos. Cada hilo toma su proxy y procesa su porción de URL sin conflictos. Los registros se guardan por separado.
Problemas posibles y soluciones
- Problema: dos hilos recibieron el mismo proxy. Causa: no se estableció el bloqueo del recurso. Solución: activa el modo de bloqueo de línea al entregar.
- Problema: los hilos "quedan colgados". Causa: tiempos de espera demasiado estrictos. Solución: aumenta los tiempos de espera para la carga de páginas y solicitudes de red.
✅ Comprobación: En la carpeta logs hay reportes para cada hilo. En los registros puedes ver el correcto enlace de proxy único y la secuencia de acciones.
Paso 5: Lógica del guion y manejo confiable de errores
Objetivo de la etapa
Agregar estabilidad al proyecto: reinicios ante fallos, manejo de errores de red, reintentos razonables y alertas.
Instrucciones paso a paso
- Dentro del cuerpo del hilo agrega el bloque "Try/Catch" (o un mecanismo equivalente de BAS). Envuélvelo alrededor de operaciones clave: establecer proxy, verificar IP, abrir URL.
- En el bloque "Catch" registra un log detallado: nombre del hilo, paso, texto del error. Añade la acción "Sleep 5–15 segundos" antes de reintentar.
- Implementa un contador de reintentos: variable retries con un límite de 2–3. Si superas el límite, registra la falla y ve al siguiente item, así el hilo no queda estancado.
- Para errores de red (por ejemplo, el proxy no responde) agrega una ruta alternativa: cambia IP mediante rotación (si está permitido) y repite la verificación de IP. Solo después repite la acción principal.
- Si el sitio responde demasiado lento, utiliza "Wait For" con un tiempo de espera más largo y una verificación intermedia de la preparación del DOM. Aumentar tiempos de espera sin verificación puede ralentizar los hilos, así que combina "Wait For Element" con límites razonables.
- Registra códigos específicos y métricas: estado de respuesta HTTP, duración de carga. Anótalos en un archivo con marca de tiempo.
- Guarda el proyecto y prueba: establece un proxy no funcional en data\proxies.csv y asegúrate de que el manejo de errores funciona correctamente.
Puntos importantes
- No te quedes atascado interminablemente. Limita el número de reintentos, si no podrías quedarte bloqueado en un URL durante mucho tiempo.
- Segmenta errores. Un error de red es una acción (cambiar IP, repetir), un error comercial del guion es otra (saltar y seguir).
Consejo: Añade niveles a los logs: INFO para eventos normales, WARNING para situaciones no estándar, ERROR para fallas críticas. Esto ayudará a encontrar fragmentos relevantes más rápidamente.
Consejo: Documenta solo errores importantes con capturas de pantalla, para no sobrecargar el disco. Ejemplo de ruta: logs\screenshots\thread_{{thread_id}}_{{timestamp}}.png.
Resultado esperado
El guion es estable: ante fallos de red reinicia pasos, al superar el límite de reintentos cierra correctamente el proceso del elemento actual y pasa al siguiente. Los registros son informativos.
Problemas posibles y soluciones
- Problema: reintentos excesivos. Causa: no se distinguen tipos de errores. Solución: establece condiciones sobre los códigos de respuesta y tipos de excepciones, con diferentes comportamientos.
- Problema: desbordamiento de registros. Causa: notas demasiado detalladas. Solución: reduce la detallación para INFO, guarda detalles para errores.
✅ Comprobación: En pruebas con proxy no válidos y URLs "lentas", el guion no se detiene por completo, sino que se recupera y continúa.
Paso 6: Registro, reportes, guardado de progreso
Objetivo de la etapa
Configurar un registro reflexivo para entender rápidamente qué hace cada hilo y por qué. Configurar el guardado de resultados y control de progreso.
Instrucciones paso a paso
- Agrega un archivo de log general para eventos resumidos: logs\main.log. Registra ahí inicio/parada del guion, número de hilos, encabezados de etapas.
- Para cada hilo registra en un archivo separado: logs\thread_{{thread_id}}.log. Anota allí los valores de proxy, IP después de la verificación, cada URL objetivo y resultado de la operación.
- Crea un archivo de resultados output\results.csv. Formato de línea: timestamp;thread_id;proxy;ip;url;status;elapsed_ms. Al finalizar el procesamiento de cada URL, añade una línea usando "Append to file".
- Guarda el progreso en caso de caída de BAS: periódicamente escribe en el archivo output\checkpoint.json los índices actuales de los recursos (qué URL se ha procesado, cuál es la siguiente). Esto facilitará reiniciar desde el lugar adecuado.
- Agrega un informe final: al concluir todos los hilos, realiza una anotación de resumen en main.log con el número de URLs procesadas con éxito y el número de errores.
Puntos importantes
- La estructura de los registros debe ser repetible. Un único formato por línea con los mismos campos simplifica el análisis.
- Cuidar el disco. Rota los registros: mueve archivos antiguos a una carpeta de archivo o elimínalos por antigüedad.
Consejo: Usa prefijos por fecha en los nombres de los registros: logs\2026-06-22\thread_3.log. Esto organizará el almacenamiento y acelerará la búsqueda.
Consejo: Durante la depuración, activa un nivel de registro extendido. En modo producción, cambia a estándar para reducir la carga.
Resultado esperado
Tienes una imagen clara del funcionamiento: quién, cuándo, con qué proxy y IP procesó qué URL y con qué resultado. Si surge una falla, puedes comprender las causas y recuperarte rápidamente.
Problemas posibles y soluciones
- Problema: los registros interfieren con el trabajo debido a su gran volumen. Causa: registros demasiado detallados. Solución: reduce el nivel de detalle y habilita la rotación.
- Problema: formatos incoherentes en diferentes hilos. Causa: la lógica de registro está dispersa. Solución: aisla un módulo de registro de logs y úsalo en todos los lugares.
✅ Comprobación: En las carpetas logs y output aparecen archivos con líneas comprensibles. Puedes filtrar eventos por thread_id y rápidamente encontrar consultas fallidas.
Paso 7: Ejemplo de guion — visita a páginas y recopilación de métricas básicas
Objetivo de la etapa
Reunir un guion mínimamente viable (MVP) que visite en modo multihilo una lista de páginas, verifique la respuesta, registre el tiempo de carga y devuelva el resultado. Este paso es la base para tus propias tareas.
Instrucciones paso a paso
- Inicializa el hilo: lee el proxy único de res_proxies y configúralo. Realiza la verificación de IP y anota en el log ip_current.
- Obtén la siguiente URL: lee una línea de res_urls y guárdala en la variable url_current. Si se acaban las líneas, termina correctamente el hilo.
- Abre el bloque del navegador "Open URL" con url_current. Establece un timeout, por ejemplo 30000 ms. Antes de abrir, añade una marca de tiempo t_start.
- Espera al elemento clave de la página con "Wait For Element" (si se sabe que es estable). De lo contrario, usa el general "Wait Document Loaded" con timeout.
- Registra la marca t_end y calcula elapsed_ms = t_end – t_start. Anota el resultado en output\results.csv.
- En caso de error de carga, aplica la lógica del Paso 5: hasta 2 reintentos, ante errores de red, rotación opcional y luego repite. Si falla tras el límite, guarda status=failed y pasa a la siguiente URL.
- Organiza un ciclo por URL: después de registrar el resultado, pasa a la siguiente línea del recurso res_urls hasta que se agote.
- Al finalizar el hilo, registra una anotación final en thread_{{thread_id}}.log con las estadísticas finales.
Puntos importantes
- Define criterios claros de éxito. Por ejemplo, el estado success — si la página se carga en 30 segundos y se encuentra el elemento.
- Respeta la seguridad. No realices acciones que infrinjan las reglas de los sitios objetivo o la ley. El guion debe ser ético y transparente.
Consejo: Si analizas páginas públicas, añade "User-Agent" y "Accept-Language" en la configuración del navegador BAS, para que el tráfico parezca natural. No los cambies demasiado seguido sin necesidad.
Consejo: Divide la lista de URL en grupos temáticos y asigna a cada hilo su grupo. Esto simplificará el análisis de resultados y el almacenamiento en caché.
Resultado esperado
El guion recorre la lista de URL en varios hilos, registra el tiempo de carga y los estados, escribe logs y cierra los hilos correctamente.
Problemas posibles y soluciones
- Problema: algunas páginas se cargan demasiado lentamente. Causa: sobrecarga o tiempos de espera no óptimos. Solución: aumenta ligeramente los tiempos de espera y añade "Wait For Element" con un selector estable.
- Problema: las métricas no se registran. Causa: error de cálculo o variables incorrectas. Solución: registra t_start y t_end, asegúrate de que el tiempo se tome en un formato coherente.
✅ Comprobación: En results.csv hay líneas con diferentes URL, IP reales de los hilos, estados y tiempos de carga. Los logs corresponden a cada hilo.
Paso 8: Optimización de la multihilo y manejo de proxies móviles
Objetivo de la etapa
Aumentar la estabilidad y rendimiento del proyecto: escalar suavemente el número de hilos y distribuir adecuadamente los proxies.
Instrucciones paso a paso
- Realiza una prueba de carga: incrementa los hilos de 3 a 5, luego a 7–10. En cada paso registra CPU, RAM, carga de red y porcentaje de errores.
- Controla la calidad de los proxies móviles: de vez en cuando corre un breve guion de verificación de IP y latencias (ping/latency a través de fuentes disponibles). Si un proxy específico da más errores, exclúyelo temporalmente de res_proxies.
- Organiza "pools" de proxies: rápidos, medios, lentos. Asigna un proxy al hilo desde el pool necesario, dependiendo de la criticidad de la tarea.
- Sincroniza la rotación con la duración de las tareas: si una tarea dura en promedio 3–5 minutos, no configures la rotación más a menudo que cada 7–10 minutos, a menos que sea necesario.
- Configura la "salud" automática del hilo: si un hilo recibe 3 errores de red seguidos, cambia el proxy y haz una pausa de 60–120 segundos.
- Evalúa los límites del proveedor de proxies móviles: cuántas conexiones simultáneas se admiten, cuán rápido está disponible la rotación. Por ejemplo, proveedores como mobileproxy.space suelen tener rotación flexible y límites claros: respétalos.
Puntos importantes
- Equilibra entre velocidad y fiabilidad. Demasiados hilos pueden empeorar la tasa de éxito general.
- No crees picos bruscos. Escala gradualmente, monitoreando las métricas.
Consejo: Introduce la métrica "tasa de éxito en 10 minutos" para cada hilo. Si cae por debajo de un umbral, cambia automáticamente el hilo a otro pool de proxies.
Consejo: Mantén una lista negra de combinaciones “malas” sitio-proxy. Si un sitio específico rechaza repetidamente uno de los proxies, no utilices esa pareja nuevamente.
Resultado esperado
Aumentar el número de hilos no rompe el guion. El porcentaje de errores se mantiene estable o disminuye gracias a la gestión de pools y rotación. El sistema reacciona de manera predecible a la degradación de la calidad de los proxies.
Problemas posibles y soluciones
- Problema: con el aumento de hilos también aumenta el tiempo de espera. Causa: falta de recursos. Solución: reduce el número de hilos, aumenta los recursos de hardware y optimiza los retrasos.
- Problema: la rotación demasiado frecuente no proporciona una IP estable. Causa: intervalos agresivos. Solución: aumenta los intervalos y utiliza la rotación solo dependiendo de eventos.
✅ Comprobación: Al aumentar los hilos hasta el número objetivo, las pruebas de carga muestran una tasa de éxito estable y los logs no están sobrecargados con repeticiones de errores de red.
Paso 9: Montaje final, lanzamiento y portabilidad
Objetivo de la etapa
Completar el proyecto: unir todos los bloques, crear parámetros de configuración, preparar la portabilidad a otra máquina.
Instrucciones paso a paso
- Extrae la configuración a parámetros: threads_count, timeouts, retry_limits, proxy_rotation_interval. En BAS utiliza "Variables" y "Settings" (si están disponibles) para el almacenamiento centralizado.
- Crea un script maestro: ordena los bloques de inicialización de logs, carga de recursos, inicio de hilos y reporte final, añadiendo comentarios.
- Verifica los caminos: utiliza rutas relativas (respecto a la carpeta del proyecto) para que la portabilidad sea más sencilla. Por ejemplo, data\proxies.csv en lugar de C:\BAS\Projects\….
- Recoge una copia "limpia" de la carpeta del proyecto: sin logs innecesarios ni archivos temporales. Colócala en backups\release_YYYYMMDD.
- Prueba la transferencia a otra máquina: copia la carpeta, abre el proyecto en BAS, ejecútalo con 1–2 hilos y verifica el funcionamiento de los proxies y registros.
- Documenta las instrucciones de lanzamiento: un breve README.txt en la raíz del proyecto con describiendo parámetros, requisitos y procedimientos de actualización de la lista de proxies.
Puntos importantes
- La configuración — fuera del código. Cuanto menos "fijo" haya en los bloques, más fácil será cambiar el comportamiento sin editar el guion.
- Prueba la portabilidad por adelantado. No esperes a que el proyecto necesite ser transferido a otra máquina.
⚠️ Atención: Antes de transferir, asegurate de que no haya contraseñas almacenadas en texto claro en el proyecto. Usa variables protegidas de BAS, si es posible, y accesos solo dentro de los derechos necesarios.
Consejo: Para el intercambio de proyectos dentro del equipo, utiliza archivos comprimidos con la suma de verificación y lista de archivos. Esto ayudará a evitar omisiones accidentales.
Resultado esperado
Proyecto listo para lanzar con configuraciones comprensibles, estructura conveniente y posibilidad de transferir a otra máquina sin necesidad de "reparar caminos".
Problemas posibles y soluciones
- Problema: en la nueva máquina no se pueden leer los recursos. Causa: rutas absolutas. Solución: cambia a rutas relativas y ajusta la estructura de carpetas.
- Problema: sin acceso a proxies. Causa: autorización por IP, falta de lista blanca. Solución: añade la IP de la nueva máquina a la lista blanca del proveedor de proxies móviles.
✅ Comprobación: El proyecto se inicia exitosamente en otra máquina, ve los recursos, se conecta a proxies móviles, genera logs y resultados.
Verificación del resultado
Checklist
- BAS instalado y se inicia sin errores.
- Estructura del proyecto creada, los recursos se leen correctamente.
- Los proxies móviles se conectan, se chequea IP y se corresponde al hilo.
- La multihilo funciona: 2–3+ hilos procesan datos en paralelo.
- Logs y resultados escritos en archivos separados, el formato es uniforme.
- Manejo de errores y reintentos configurados y predecibles.
- El proyecto es portable a otra máquina.
Cómo probar
- Lanza 1 hilo con 3 URL, verifica el registro y results.csv.
- Aumenta a 3 hilos, verifica la unicidad del proxy y coincidencia de IP con el hilo.
- Introduce artificialmente 1 proxy no funcional, observa cómo se manejan los reintentos y logs de errores.
- Lanza en otra máquina (si está disponible) y repite la prueba.
Métricas de éxito
- El porcentaje de intentos exitosos es estable (por ejemplo, 95%+ en páginas de prueba).
- No hay colisiones en proxies entre hilos.
- Los logs son claros, se puede recuperar el flujo de eventos a partir de ellos.
- El tiempo de ejecución del guion se reduce proporcionalmente al número de hilos.
Errores comunes y soluciones
- Problema: "Se requiere autenticación de proxy". Causa: credenciales incorrectas. Solución: verifica el login/password y el formato de la línea en proxies.csv.
- Problema: Dos hilos recibieron el mismo proxy. Causa: recurso sin bloqueo. Solución: activa "Take and lock" o alguna función equivalente de bloqueo de línea.
- Problema: IP no cambia después de la rotación. Causa: solicitudes de rotación demasiado frecuentes o demora en el proveedor. Solución: aumenta el intervalo y espera de 30 a 120 segundos después de la solicitud, verifica las reglas de rotación.
- Problema: Los hilos se cuelgan al cargar páginas. Causa: tiempos de espera sub óptimos o página pesada. Solución: aumenta el tiempo de espera, usa "Wait For Element", agrega pausas razonables.
- Problema: Aumento brusco de errores al aumentar hilos. Causa: falta de recursos de CPU/RAM/red. Solución: reduce el número de hilos, optimiza el guion, añade recursos.
- Problema: Los logs saturan el disco. Causa: nivel de detalle alto. Solución: activa la rotación de logs, reduce el nivel de registro en producción.
- Problema: No se puede trasladar el proyecto. Causa: rutas absolutas. Solución: utiliza rutas relativas y una estructura de carpetas unificada.
- Problema: Errores de acceso a proxies en otra máquina. Causa: autorización por IP, faltante lista blanca. Solución: añade la IP de la nueva máquina en el proveedor de proxies móviles.
Características adicionales
Configuraciones avanzadas
- Pools dinámicos de proxies: mantén CSV separados para diferentes regiones o tareas y alterna entre ellos según las condiciones.
- Orquestación compleja de hilos: a nivel de BAS puedes construir colas de tareas, priorización y límites en operaciones simultáneas.
- Encabezados personalizados y perfiles de navegador: configura User-Agent y lenguajes, activa o desactiva imágenes/JS para optimizar la carga, si no interfiere con los objetivos del guion.
Optimización
- Caching: si tu tarea lo permite, utiliza caché para recursos inalterables, para acelerar solicitudes repetidas.
- Separa tareas: divide pasos pesados (como análisis de páginas grandes) en fases separadas, ejecútalas en colas.
- Monitoreo: metrikas externas de CPU/RAM/disco/red y tus propias métricas de tasa de éxito por hilo te permitirán detectar degradaciones a tiempo.
Qué más se puede hacer
- Integración con notificaciones: al final del guion envía un correo o notificación push con los resultados.
- Actualización automática de listas de proxies: si el proveedor admite la entrega de hosts/puertos actuales, implementa sincronización periódica.
- Rotación flexible a través de API del proveedor móvil: por ejemplo, en servicios como mobileproxy.space a menudo se ofrecen solicitudes convenientes para cambiar IP programado o por evento.
⚠️ Atención: Cualquier integración y extensión debe hacerse considerando las leyes y reglas de los sitios objetivo. No uses automatización para tareas que contradigan legislación o condiciones de uso de los recursos.
FAQ
- ¿Cómo saber si el proxy realmente se utiliza? Abre una página de verificación de IP (por ejemplo, a través de httpbin), compara la IP visible con la IP de tu red. Debe coincidir con la IP del proxy.
- ¿Cuántos hilos se pueden ejecutar? Depende de CPU/RAM, calidad de proxies y complejidad del guion. Empieza con 2–3 y aumenta gradualmente, monitoreando la tasa de éxito.
- ¿Es necesaria la rotación de IP móviles siempre? No. Realiza rotaciones por evento (error de red, bloqueo) o intervalos razonables. Rotaciones frecuentes pueden afectar la estabilidad.
- ¿Qué es mejor: autorización por login/password o por IP? Por login/password es más fácil trasladar guiones entre máquinas. Por IP — un poco menos de entradas manuales, pero requiere actualizar la lista blanca al cambiar de red.
- ¿Se puede usar un proxy entre varios hilos? No es recomendable. Aumenta el riesgo de conflictos y reduce la manejabilidad. Se recomienda un hilo — un proxy.
- ¿Cómo almacenar proxies sin revelar contraseñas? Usa variables protegidas de BAS (si están disponibles), limita el acceso a archivos y encripta el almacenamiento de secretos.
- ¿Por qué algunas páginas se cargan lentamente? Puede haber retrasos de red, sobrecarga del sitio o contenido pesado. Usa "Wait For Element", optimiza los tiempos de espera y reduce la cantidad de operaciones simultáneas.
- ¿Qué hacer si el proveedor de proxies es temporalmente inestable? Mantén un pool de reserva de otro proveedor, reduce el número de hilos y adapta los intervalos de rotación hasta estabilización.
- ¿Se puede ejecutar un guion sin GUI? Sí, BAS soporta el lanzamiento de proyectos a través del programador y modos de consola. Para empezar se recomienda depurar a través de GUI.
- ¿Dónde mirar si algo salió mal? Consulta logs\main.log, luego thread_*.log, luego results.csv. Verifica la correspondencia del proxy con el hilo y la presencia de errores de autorización.
Conclusión
Has recorrido todo el camino: desde la instalación de BAS hasta la configuración de proxies móviles y el lanzamiento de un guion multihilo. Hemos creado la estructura de un proyecto, implementado la lógica de manejo de errores, establecido un sistema de registro y reporte, y verificado la portabilidad. Ahora tienes una base sólida, pero confiable: puedes expandirla según tus necesidades, añadir verificaciones complejas, enriquecer los reportes y escalar la multihilo a medida que aumenten tus necesidades y recursos.
Próximamente puedes: a) perfeccionar la precisión de los guiones a través de condiciones y selectores más finos, b) introducir una orquestación avanzada de hilos, c) ajustar la actualización automática y validación de la lista de proxies móviles, utilizando la API de tu proveedor (como el nivel de mobileproxy.space), d) integrar notificaciones y monitoreo para un control de estabilidad en tiempo real.
El principio principal es la gradualidad. Escala con cuidado, mide métricas y documenta cambios. Entonces, la automatización en BAS con proxies móviles se convertirá en una herramienta predecible, segura y eficaz para ti. Si tienes dudas en la configuración, vuelve a las secciones "Paso 3: Conexión y configuración de proxies móviles en BAS" y "Errores comunes y soluciones" a través de los enlaces internos al inicio de la guía. ¡Buena suerte en la automatización práctica!