BAS e proxies móveis: como configurar multiprocessamento - guia passo a passo
Introdução
Neste guia passo a passo, você aprenderá a iniciar uma automação estável em multiprocessamento no Browser Automation Studio (BAS) utilizando proxies móveis. Iremos configurar o ambiente, conectar os proxies móveis, criar um script em multiprocessamento e verificar o resultado. Ao final, você terá um projeto BAS pronto, que roda em múltiplos processos, utilizando IPs móveis únicos por processo, logando corretamente as ações e recuperando-se de situações imprevistas. Vamos detalhar cada passo para minimizar o risco de erros e economizar seu tempo.
Este material é voltado para iniciantes, mas com elementos para usuários mais avançados. Se você nunca trabalhou com BAS, conseguirá seguir todos os passos graças às instruções detalhadas. Caso já tenha uma compreensão básica sobre automação, encontrará práticas prontas para otimização do multiprocessamento, operação segura com proxies móveis e tratamento de erros confiável.
Antes de começar, é importante ter conhecimentos básicos sobre o uso de computadores, saber instalar programas e entender termos básicos como "proxy", "processo" e "timeout". Não são necessárias habilidades avançadas de programação: todo o processo é baseado em blocos visuais do BAS, configurações claras e verificações.
Reserve de 2 a 4 horas para realizar todas as etapas. Mais tempo será necessário se você estiver instalando as ferramentas e configurando os proxies móveis pela primeira vez. Mas, após a configuração inicial, você conseguirá escalar rapidamente os scripts e executá-los em diferentes máquinas.
Dica: Se quiser ir direto para a configuração do proxy, utilize o link interno para a seção "Passo 3: Conexão e configuração de proxies móveis no BAS" — veja abaixo. Se estiver interessado em problemas e suas soluções, vá para a seção "Erros comuns e soluções" — veja abaixo.
Preparação
Para um funcionamento bem-sucedido, você precisará de algumas ferramentas obrigatórias e etapas de preparação. Siga a lista para não perder nada. Aqui também listaremos os requisitos do sistema e explicaremos o que exatamente precisa ser baixado e como instalá-los corretamente.
Ferramentas, programas e acessos necessários
- Computador com Windows 10 ou mais recente. O BAS é oficialmente compatível com Windows; execução sob Linux por compatibilidade é possível, mas não será abordada neste guia.
- Versão atual do Browser Automation Studio (BAS) de 2026. É necessário baixar e instalar.
- Conta com um fornecedor de proxies móveis. Diversos fornecedores são adequados; como exemplo, frequentemente são utilizados proxies móveis com rotação flexível, como mobileproxy.space.
- Editor de texto para anotações (por exemplo, o padrão "Bloco de Notas") e planilha (por exemplo, Excel) para armazenar dados de proxies e logins.
- Espaço livre em disco de pelo menos 5 GB para a instalação do BAS, dados temporários e logs.
Requisitos do sistema
- Sistema operacional: Windows 10/11 (64-bit).
- Memória RAM: a partir de 8 GB (recomendado 16 GB ou mais para multiprocessamento intenso).
- Processador: 4+ núcleos (recomendado 6–8+ núcleos para estabilidade no multiprocessamento).
- Espaço livre em disco: no mínimo 5 GB.
- Conexão de internet estável: a partir de 20 Mbps, com latência baixa preferencialmente.
O que baixar, instalar e configurar
- Baixe o pacote de instalação do BAS no site oficial do desenvolvedor. Verifique se a versão é a atual (2026) e se é compatível com seu sistema operacional.
- Instale o BAS, seguindo o assistente de instalação padrão: botões "Avançar", "Aceitar", "Instalar". Inicie o BAS após a conclusão da instalação.
- Obtenha acesso aos proxies móveis com seu fornecedor. Certifique-se de que você possui IP/domínio, porta, tipo de autorização (login/senha ou por IP), assim como a documentação sobre troca de IP (rotação).
- Crie uma pasta para o projeto BAS, logs e backups. Exemplo: C:\BAS\Projects\MobileProxyMultithread.
- Prepare um arquivo CSV com dados de teste (se o script exigir), por exemplo, uma lista de URLs a serem visitadas. Exemplo de arquivo: urls.csv com linhas no formato https://example.org/test1, https://example.org/test2.
Criação de backups
Backups permitem que você retorne rapidamente a um estado funcional, caso algo dê errado.
- Crie uma cópia da pasta do projeto BAS após cada alteração significativa: adicionou proxies — fez backup; adicionou multiprocessamento — fez backup.
- Armazene as cópias em subpastas datadas: C:\BAS\Backups\2026-06-xx\.
- Os arquivos de scripts do BAS (.xml) e recursos (CSV, JSON, logotipos) também devem ser duplicados em uma pasta separada chamada "Backup_Resources".
⚠️ Atenção: Se você estiver executando scripts em um computador de trabalho, certifique-se de que o antivírus não bloqueie as atividades do BAS. Adicione a pasta do BAS às exceções, se necessário. Antes disso, verifique a segurança das fontes.
✅ Verificação: Você tem o BAS instalado, acesso ativo aos proxies móveis (login/senha ou autorização por IP), a estrutura de pastas para o projeto e backups está criada, e os dados de teste estão preparados.
Conceitos básicos
Antes de configurar, vamos para a teoria em um nível prático. Uma compreensão clara dos termos economiza seu tempo nos passos seguintes.
O que é BAS em termos simples
Browser Automation Studio é uma ferramenta visual para automatizar ações no navegador. Você monta um script a partir de blocos, como se fosse um quebra-cabeça. Cada ação é um bloco: "Abrir URL", "Clique", "Inserir texto", "Trocar proxy", "Executar em processo" e assim por diante. O BAS não requer profundo conhecimento de programação. No entanto, ele oferece flexibilidade e permite resolver tanto tarefas simples quanto complexas: parsing, validação de formulários, monitoramento, trabalho com contas, testes.
Proxies e proxies móveis
Proxy é um servidor intermediário entre seu computador e o site com o qual você está interagindo. Quando você utiliza um proxy, o site vê o IP do proxy, e não o seu próprio. Proxies móveis são aqueles fornecidos através de redes celulares (3G/4G/5G), portanto, seus endereços IP fazem parte de um pool "móvel". Isso é útil para aumentar a confiança no tráfego e reduzir bloqueios falsos, se as tarefas são realizadas corretamente e legalmente. Diferentes fornecedores têm funções de troca de IP (rotação) por tempo ou a pedido. Como exemplo, você pode considerar o mobileproxy.space, que permite rotação fácil e diferentes pontos de saída.
Multiprocessamento
Multiprocessamento no BAS é a execução simultânea de várias cópias do mesmo script. Cada processo opera de forma independente: com seus próprios dados, proxies e logs. Isso acelera a execução de ações semelhantes. É importante dividir corretamente os recursos: atribuir um proxy único para cada processo, configurar timeouts, filas e limites, para evitar conflitos e sobrecargas.
O que é importante entender antes de começar
- Um processo — um proxy. Esta é a regra básica para estabilidade e minimização de interseções.
- A rotação de IP deve ser previsível. Configure a troca de IP em intervalos seguros e apenas quando necessário, para não levantar suspeitas indesejadas nos sites.
- Logs e relatórios são seus melhores amigos. Registre eventos-chave e erros. Isso simplifica muito a depuração.
- Qualquer automação deve respeitar as leis e regras de uso dos sites-alvo. Trabalhe apenas com tarefas e dados autorizados.
Dica: Se você estiver configurando proxies móveis pela primeira vez, comece com 1–2 processos. Quando se sentir seguro sobre a estabilidade, avance para 5, 10 e assim por diante. Assim, você saberá exatamente os limites da sua máquina e do proxy.
✅ Verificação: Você entende que cada processo opera com um proxy separado, a importância da rotação e por que é necessário logar os eventos. Você está pronto para prosseguir com a instalação e montagem do projeto.
Passo 1: Instalação e primeira execução do BAS
Objetivo da etapa
Instalar e iniciar corretamente a versão atual do BAS, e verificar a funcionalidade da interface e das funções básicas.
Instruções passo a passo
- Abrir o instalador do BAS e seguir os passos do assistente ("Avançar", "Aceitar", "Instalar").
- Inicie o BAS. Na primeira tela, você verá a janela principal com o menu, lista de projetos, painel de ações e console de logs.
- Crie a pasta do projeto: C:\BAS\Projects\MobileProxyMultithread. No BAS, no menu "Arquivo", selecione "Salvar Projeto Como..." e salve um projeto vazio como MobileProxyMultithread.xml na pasta indicada.
- Abra a seção com as ações (à esquerda). Encontre os blocos "Browser", "Network", "Flow"— eles serão necessários mais tarde.
- Verifique o funcionamento do módulo do navegador: adicione o bloco "Abrir URL" e insira https://example.org. Clique em "Executar". Certifique-se de que o BAS abre o navegador embutido e carrega a página.
Pontos importantes
- Não feche a janela do navegador durante a execução de teste. Isso faz parte do processo.
- Se a página não abrir, verifique a conexão de internet e as configurações do firewall.
Resultado esperado
A página é carregada com sucesso, sem erros críticos nos logs, e o projeto é salvo na pasta selecionada.
Possíveis problemas e soluções
- Problema: BAS não inicia. Causa: bloqueio pelo antivírus. Solução: adicione o BAS às exceções.
- Problema: a página de teste não abre. Causa: restrições de rede. Solução: verifique o acesso à internet e as configurações do proxy no sistema operacional (não são necessárias na fase de teste).
✅ Verificação: Na janela do BAS, você vê a página carregada e status verde nos logs. O arquivo do projeto MobileProxyMultithread.xml foi salvo.
Passo 2: Estrutura do projeto e recursos
Objetivo da etapa
Criar uma estrutura clara para o projeto BAS com recursos (arquivos de dados, logs, resultados), para facilitar a escalabilidade e a manutenção.
Instruções passo a passo
- Na pasta do projeto, crie subpastas: data, logs, output, backups.
- Crie o arquivo data\urls.csv com 5–10 endereços de teste. Formato: um URL por linha. Exemplo: https://httpbin.org/ip, https://example.org.
- No BAS, adicione um "Recurso" para ler o arquivo urls.csv: na seção "Recursos", clique em "Adicionar Recurso", selecione o tipo "Arquivo", indique o caminho para data\urls.csv, e o modo "Linha por linha".
- Adicione o bloco "Carregar do Recurso" para ler URLs do recurso em uma variável, por exemplo, url_current.
- Adicione o bloco "Log" e exiba o valor {{url_current}} para monitoramento.
- Salve o projeto (Ctrl+S).
Pontos importantes
- Nomeie cada recurso de forma clara: res_urls, res_accounts, etc. Isso facilitará a manutenção.
- Se você planeja vários scripts, mantenha os recursos em pastas separadas por tarefas.
Resultado esperado
O projeto lê linha a linha do arquivo urls.csv, registra o valor no log e se prepara para abrir as páginas da lista.
Possíveis problemas e soluções
- Problema: erro ao ler o arquivo. Causa: caminho incorreto ou codificação errada. Solução: verifique o caminho e utilize UTF-8 sem BOM.
- Problema: recurso não muda de linha. Causa: modo definido incorretamente. Solução: configure para "Linha por linha" e ative a auto-incrementação.
✅ Verificação: Ao executar você vê no log as linhas do urls.csv e o valor da variável url_current.
Passo 3: Conexão e configuração de proxies móveis no BAS
Objetivo da etapa
Conectar proxies móveis ao projeto BAS de maneira que cada processo utilize seu próprio IP. Configurar rotação segura e verificação de conexão.
Instruções passo a passo
- Defina o formato de acesso ao proxy. Normalmente, este é um dos seguintes: http(s)://user:pass@host:port ou socks5://user:pass@host:port. Se a autorização for por IP, verifique se seu IP externo está na lista branca do fornecedor.
- Prepare uma lista de proxies. Crie o arquivo data\proxies.csv, onde cada linha é um proxy. Exemplo: http://user1:pass1@mp1.example.net:3000, http://user2:pass2@mp2.example.net:3000. Se você estiver utilizando mobileproxy.space, indique os hosts e portas fornecidos a você nesse formato.
- No BAS, crie o recurso res_proxies para leitura de data\proxies.csv. Modo "Linha por linha".
- Antes de abrir o navegador, insira o bloco "Definir Proxy" da seção "Rede" ou "Navegador/Proxy". No campo de proxy, indique a variável lida do recurso, por exemplo, {{proxy_current}}.
- Adicione o bloco "Requisição HTTP" ou "Abrir URL" em um serviço de verificação de IP, como https://httpbin.org/ip. O objetivo é garantir que o tráfego está passando pelo proxy. Exiba a resposta no log e verifique se o IP é diferente do seu real.
- Rotação de IP. Se seu fornecedor disponibiliza uma API para troca de IP (o que é comum com fornecedores móveis), crie um bloco separado "Requisição HTTP" para chamar a rotação. Não solicite a rotação com muita frequência. Recomenda-se realizá-la: a) ao iniciar um processo; b) ao enfrentar um erro de conexão específico; c) em intervalos seguros (por exemplo, a cada 10–20 minutos), se isso for permitido pela documentação do fornecedor.
- Adicione uma verificação de resultado após a rotação. Verifique novamente o IP e certifique-se de que ele mudou, caso a rotação tenha sido iniciada.
- Salve o projeto (Ctrl+S) e faça um backup na pasta backups com data e hora.
Pontos importantes
- Um processo — um proxy. Não compartilhe um proxy entre processos. Isso reduz a estabilidade e dificulta a depuração.
- Não ultrapasse os limites de rotação. Verifique com seu fornecedor a frequência permitida. Rotação excessiva pode levar a erros.
- Logs de conexão são essenciais. Sempre registre qual proxy foi atribuído ao processo e qual IP foi verificado após a checagem.
Dica: Se estiver usando mobileproxy.space, configure endereços de rotação separados para cada modem/slot, para gerenciar a troca de IP exclusivamente e não impactar outros processos.
Dica: Na autorização por IP, faça verificações regulares do IP externo da sua máquina. Ao mudar de rede, atualize a lista branca do fornecedor.
Resultado esperado
O projeto capta proxies do arquivo, configura antes do início do navegador, verifica IP com sucesso e pode chamar a rotação quando necessário.
Possíveis problemas e soluções
- Problema: "Autenticação de proxy necessária". Causa: login/senha incorretos. Solução: verifique as credenciais e o formato da linha em proxies.csv.
- Problema: IP não muda após rotação. Causa: solicitações de rotação muito frequentes ou atrasos do fornecedor. Solução: aguarde 30–120 segundos, aumente o intervalo de rotação.
- Problema: conexão instável. Causa: sinal fraco do modem do fornecedor. Solução: mude o ponto de saída ou utilize outro slot do fornecedor móvel.
✅ Verificação: Nos logs você vê o proxy designado ao processo, a página de verificação de IP carregada com sucesso e o IP mudando corretamente após a rotação. Sem erros de autenticação.
Passo 4: Multiprocessamento básico — modelo de execução
Objetivo da etapa
Configurar no BAS a execução em multiprocessamento isolando recursos: cada processo deve ter sua linha do proxies.csv e seu conjunto de URLs.
Instruções passo a passo
- Defina o número de processos para o teste. Comece com 2–3 processos.
- Adicione ao projeto blocos "Threads" ou use "Run In Threads" (dependendo da versão da interface). Indique a variável threads_count, padrão em 3.
- Crie um recurso res_proxies com o modo "Take row and lock", se disponível, ou organize manualmente a entrega das linhas por índice, para que cada processo receba uma linha única. Alternativa: use "Take Line" com transição automática para a próxima linha e bloqueio.
- Para os dados de URL, crie uma distribuição independente: se deseja que os processos peguem URLs diferentes, use um recurso separado res_urls com "Take Line" e bloqueio. Se cada processo deve passar pela mesma lista, trabalhe com uma cópia do array na memória.
- Dentro do corpo do processo, configure o proxy a partir da linha única de res_proxies, verifique o IP, depois faça um ciclo pelos URLs: abra a página, aguarde o carregamento, registre o status no log.
- Adicione timeouts e delays. Entre a abertura de páginas, use "Sleep" de 2 a 5 segundos, para reduzir picos de carga e evitar suspeitas excessivas nos sites.
- Registre logs por processos. No nome do arquivo de log, use a variável do processo, por exemplo logs\thread_{{thread_id}}.log, para facilitar a depuração.
- Salve o projeto e inicie com 3 processos para teste.
Pontos importantes
- Isolamento de recursos é crítico. Certifique-se de que dois processos não acessem a mesma linha de proxies.csv ao mesmo tempo.
- Estabilize os delays. Quanto maior o número de processos, maior a probabilidade de colisões na rede. Delays moderados aumentam a estabilidade.
Dica: Comece o teste com 1 processo, depois 2, e então 3. Em cada etapa, verifique os logs e o uso de recursos (CPU, RAM, rede). Isso evitará falhas inesperadas durante a escalabilidade.
Dica: Dê ao processo um nome que contenha o número e a breve descrição, como "T3_Parse". Isso é útil para analisar logs.
Resultado esperado
O script inicia simultaneamente em vários processos. Cada processo pega seu proxy e processa sua parte de URLs sem conflitos. Os logs são salvos separadamente.
Possíveis problemas e soluções
- Problema: dois processos receberam o mesmo proxy. Causa: recurso sem bloqueio. Solução: ative o modo de bloqueio de linha ao entregar.
- Problema: processos "congelam". Causa: timeouts muito rígidos. Solução: aumente os timeouts de carregamento de páginas e requisições de rede.
✅ Verificação: Na pasta logs, apareceram relatórios para cada processo. Nos logs, é visível a correta designação do proxy único e a sequência apropriada de ações.
Passo 5: Lógica do script e tratamento confiável de erros
Objetivo da etapa
Adicionar robustez ao projeto: reinicializações em caso de falha, tratamento de erros de rede, repetições razoáveis e notificações.
Instruções passo a passo
- Dentro do corpo do processo, adicione um bloco "Try/Catch" (ou mecanismo equivalente do BAS). Envolva operações-chave: configuração de proxy, verificação de IP, abertura de URL.
- No bloco "Catch", registre um log detalhado: nome do processo, passo, texto do erro. Insira "Sleep 5–15 segundos" antes da repetição.
- Implemente um contador de repetições: variável retries com limite de 2–3. Se ultrapassar o limite — registre a falha e passe para a próxima tarefa, para que o processo não trave.
- Para erros de rede (por exemplo, proxy não respondendo) adicione uma rota alternativa: troca de IP via rotação (se permitido) e repetição da verificação de IP. Apenas após isso, repita a ação principal.
- Se o site responder muito lentamente, use "Wait For" com um timeout mais longo e verificação intermediária da prontidão do DOM. O aumento indiscriminado de timeouts sem checagem pode desacelerar os processos, portanto, combine "Wait For Element" com limites razoáveis.
- Registre códigos e métricas específicas: status da resposta HTTP, duração do carregamento. Salve-as em um arquivo com data e hora.
- Salve o projeto e teste: artificialmente, insira um proxy inválido em data\proxies.csv e verifique se o tratamento de erros funciona corretamente.
Pontos importantes
- Não entre em um loop infinito. Limite o número de repetições, caso contrário, você pode ficar preso em uma única URL por muito tempo.
- Segmente erros. Erro de rede é uma ação (trocar IP, repetir), erro de negócios no script é outra (pular e seguir em frente).
Dica: Adicione "níveis" nos logs: INFO para eventos normais, WARNING para situações não padrão, ERROR para falhas críticas. Isso facilita a localização de partes necessárias.
Dica: Capture screenshots apenas para erros importantes, para não sobrecarregar o disco. Exemplo de caminho: logs\screenshots\thread_{{thread_id}}_{{timestamp}}.png.
Resultado esperado
O script é estável: em caso de falhas de rede, reinicia etapas, e ao ultrapassar o limite de repetições, finaliza corretamente o tratamento do elemento atual e passa para o próximo. Os logs são informativos.
Possíveis problemas e soluções
- Problema: repetições excessivas. Causa: não diferencia tipos de erros. Solução: condição para códigos de resposta e tipo de exceção, comportamento distinto.
- Problema: logs sobrecarregam o disco. Causa: anotações muito detalhadas. Solução: diminua a detalhamento para INFO, mantenha os detalhes para erros.
✅ Verificação: Em testes com proxies inválidos e URLs "lentas", o script não falha completamente, mas se recupera e continua.
Passo 6: Logagem, relatórios, salvamento do progresso
Objetivo da etapa
Configurar uma logagem pensada, para que seja fácil entender o que cada processo está fazendo e por que. Preparar relatórios de resultados e controle de progresso.
Instruções passo a passo
- Adicione um log-file geral para eventos sumarizados: logs\main.log. Registre a inicialização/parada do script, número de processos e cabeçalhos de etapas.
- Para cada processo, registre um arquivo separado: logs\thread_{{thread_id}}.log. Insira neles os valores de proxies, IP após verificação, cada URL alvo e resultado da operação.
- Crie um arquivo de resultados output\results.csv. Formato da linha: timestamp;thread_id;proxy;ip;url;status;elapsed_ms. Após o processamento de cada URL, adicione uma linha através de "Append to file".
- Salve o progresso em caso de falha do BAS: periodicamente grave em output\checkpoint.json os índices atuais dos recursos (qual URL foi processada, qual a próxima). Isso facilitará o reinício do local correto.
- Adicione um relatório final: ao término de todos os processos, execute um registro resumo em main.log com o número de URLs processadas com sucesso e o número de erros.
Pontos importantes
- A estrutura dos logs deve ser repetível. Formato único de linhas com campos iguais facilita a análise.
- Cuide do disco. Rode logs: mova arquivos antigos para uma pasta de arquivo ou exclua os mais antigos.
Dica: Use prefixos de data nos nomes dos logs: logs\2026-06-22\thread_3.log. Isso organizará o armazenamento e acelerará a busca.
Dica: Na fase de depuração, ative o nível de log detalhado. No modo de produção, mude para o padrão, para reduzir as sobrecargas.
Resultado esperado
Você tem um quadro claro do funcionamento: quem, quando, com qual proxy e IP processou qual URL e com que resultado. Se algo falhar, será possível entender os motivos e se recuperar rapidamente.
Possíveis problemas e soluções
- Problema: logs atrapalham por volume excessivo. Causa: registros muito detalhados. Solução: diminua o detalhamento e ative a rotação.
- Problema: formatos diferentes em processos distintos. Causa: lógica de registro fragmentada. Solução: separe um módulo de registro de logs e use-o em todos os lugares.
✅ Verificação: Nas pastas logs e output, apareceram arquivos com linhas compreensíveis. É possível filtrar eventos por thread_id e encontrar rapidamente solicitações falhadas.
Passo 7: Exemplo de script - visitação de páginas e coleta de métricas básicas
Objetivo da etapa
Coletar um script minimamente viável (MVP), que em modo multiprocessado visita uma lista de páginas, verifica a resposta, registra o tempo de carregamento e retorna o resultado. Esta etapa é a base para suas próprias tarefas.
Instruções passo a passo
- Inicialização do processo: leia um proxy único de res_proxies e configure-o. Execute a verificação de IP e registre no log ip_current.
- Obtendo uma URL a cada vez: leia uma linha de res_urls, salve na variável url_current. Se as linhas acabaram, finalize corretamente o processo.
- Abra o bloco de navegador "Abrir URL" com url_current. Defina um timeout, por exemplo, 30000 ms. Antes da abertura, adicione um timestamp t_start.
- Aguarde o elemento-chave da página com "Wait For Element" (se souber que ele é estável). Caso contrário, use o geral "Wait Document Loaded" com um timeout.
- Registre o timestamp t_end e calcule elapsed_ms = t_end – t_start. Grave o resultado em output\results.csv.
- Se houver erro de carregamento, execute a lógica do Passo 5: até 2 repetições, para erros de rede — rotação opcional, seguida de repetição. Se houve falha após o limite — registre status=failed e passe para a próxima URL.
- Organize um ciclo por URLs: após gravar o resultado, passe para a próxima linha do recurso res_urls até que ele se esgote.
- Ao final do processo, registre a entrada final em thread_{{thread_id}}.log com estatísticas finais.
Pontos importantes
- Defina critérios claros para sucesso. Por exemplo, status success — se a página carregar em 30 segundos e o elemento for encontrado.
- Respeite a segurança. Não execute nenhuma ação que viole as regras dos sites-alvo ou as leis. O script deve ser ético e transparente.
Dica: Se você estiver analisando páginas públicas, adicione "User-Agent" e "Accept-Language" nas configurações do navegador BAS, para que o tráfego pareça natural. Não os mude com frequência sem necessidade.
Dica: Separe a lista de URLs em grupos temáticos e atribua a cada processo seu próprio grupo. Isso facilitará a análise de resultados e cache.
Resultado esperado
O script percorre a lista de URLs em vários processos, registra tempos de carregamento e status, escreve logs e finaliza os processos corretamente.
Possíveis problemas e soluções
- Problema: parte das páginas carrega muito lentamente. Causa: sobrecarga ou timeouts não otimizados. Solução: aumente levemente os timeouts e adicione "Wait For Element" por um seletor estável.
- Problema: métricas não são gravadas. Causa: erro no cálculo ou variáveis incorretas. Solução: registre t_start e t_end, assegurando que o tempo esteja no mesmo formato.
✅ Verificação: Em results.csv, há linhas com URLs diversas, IPs reais dos processos, status e tempos de carregamento. Os logs correspondem a cada processo.
Passo 8: Otimização de multiprocessamento e trabalho com proxies móveis
Objetivo da etapa
Aumentar a estabilidade e desempenho do projeto: escalar gradualmente o número de processos e distribuir proxies de forma eficiente.
Instruções passo a passo
- Realize um teste de carga: aumente os processos de 3 para 5, depois para 7-10. Em cada etapa, registre CPU, RAM, carga de rede e porcentagem de erros.
- Monitore a qualidade dos proxies móveis: execute periodicamente um script curto para verificar IPs e latências (ping/latência por fontes disponíveis). Se um proxy específico der mais erros, exclua-o temporariamente de res_proxies.
- Organize "pools" de proxies: rápidos, médios, lentos. Atribua a cada processo um proxy do pool apropriado conforme a criticidade da tarefa.
- Sincronize a rotação com a duração das tarefas: caso uma tarefa dure em média 3-5 minutos, evite programar a rotação mais frequentemente que a cada 7-10 minutos, a menos que necessário.
- Configure a "verificação de saúde" do processo: se um processo receber 3 erros de rede consecutivos, troque o proxy e faça uma pausa de 60–120 segundos.
- Avalie os limites do fornecedor de proxies móveis: quantas conexões simultâneas são suportadas, quão rapidamente a rotação está disponível. Por exemplo, fornecedores como mobileproxy.space frequentemente têm rotação flexível e limites claros—respeite-os.
Pontos importantes
- Equilibre entre velocidade e confiabilidade. Muitos processos podem diminuir a taxa de sucesso geral.
- Evite picos abruptos. Escalene gradualmente, monitorando as métricas.
Dica: Insira a métrica "taxa de sucesso em 10 minutos" para cada processo. Se for abaixo do limite, mude o processo automaticamente para outro pool de proxies.
Dica: Mantenha uma lista negra de combinações "ruins" de site-proxy. Se um site específico frequentemente negar acesso por um proxy, não utilize essa combinação novamente.
Resultado esperado
Aumento no número de processos não quebra o script. A porcentagem de erros é estável ou diminui graças à gestão de pools e rotação. O sistema reage de forma previsível à degradação da qualidade dos proxies.
Possíveis problemas e soluções
- Problema: ao aumentar os processos, aumentam os erros de timeout. Causa: falta de recursos. Solução: reduza o número de processos, aumente os recursos de hardware, otimize os delays.
- Problema: rotação muito frequente não garante IP estável. Causa: intervalos agressivos. Solução: aumente os intervalos e use rotação apenas por evento.
✅ Verificação: Ao aumentar os processos para o número alvo, os testes de carga mostram sucesso estável, e os logs não estão sobrecarregados com repetições de erros de rede.
Passo 9: Montagem final, execução e portabilidade
Objetivo da etapa
Finalizar o projeto: unir todos os blocos, criar parâmetros de configuração, preparar a portabilidade para outra máquina.
Instruções passo a passo
- Externalize a configuração em parâmetros: threads_count, timeouts, retry_limits, proxy_rotation_interval. No BAS, use "Variáveis" e "Configurações" (se disponíveis) para armazenagem centralizada.
- Crie um script mestre: organize blocos de inicialização de logs, carregamento de recursos, início de processos e relatório final de maneira sequencial, adicione comentários.
- Verifique os caminhos: use caminhos relativos (em relação à pasta do projeto), facilitando a portabilidade. Por exemplo, data\proxies.csv em vez de C:\BAS\Projects\….
- Monte uma cópia “limpa” da pasta do projeto: sem logs desnecessários e arquivos temporários. Coloque-a em backups\release_YYYYMMDD.
- Teste a portabilidade em outra máquina: copie a pasta, abra o projeto no BAS, inicie com 1-2 processos, e verifique o funcionamento dos proxies e logs.
- Documente as instruções de execução: um curto README.txt na raiz do projeto com descrição de parâmetros, requisitos e procedimentos de atualização da lista de proxies.
Pontos importantes
- Configuração — fora do código. Quanto menos "embarcado" nas partes do script, mais fácil mudar comportamentos sem editar o script.
- Teste a portabilidade com antecedência. Não espere até que o projeto precise ser executado em outra máquina.
⚠️ Atenção: Antes de transferir, verifique se o projeto não contém senhas em texto claro. Utilize variáveis protegidas do BAS, se possível, e acessos apenas dentro das permissões necessárias.
Dica: Para compartilhar projetos dentro da equipe, use arquivos compactados com somas de verificação e listas de verificação de arquivos. Isso ajuda a evitar omissões acidentais.
Resultado esperado
Projeto pronto para execução, com configurações compreensíveis, estrutura conveniente e possibilidade de transferência para outra máquina sem necessidade de "consertar caminhos".
Possíveis problemas e soluções
- Problema: em nova máquina, recursos não são lidos. Causa: caminhos absolutos. Solução: mude para caminhos relativos e ajuste a estrutura de pastas.
- Problema: não há acesso ao proxy. Causa: autorização por IP, lista branca ausente. Solução: adicione o IP da nova máquina à lista branca do fornecedor de proxies móveis.
✅ Verificação: O projeto inicia com sucesso em outra máquina, reconhece os recursos, se conecta a proxies móveis, forma logs e resultados.
Verificação do resultado
Checklist
- BAS está instalado e inicia sem erros.
- A estrutura do projeto foi criada e os recursos são lidos corretamente.
- Os proxies móveis estão conectados, IP verificado e corresponde ao processo.
- O multiprocessamento funciona: 2–3+ processos processam dados paralelamente.
- Logs e resultados são escritos em arquivos separados, com formato uniforme.
- O tratamento de erros e repetições está configurado e é previsível.
- Projeto é portátil para outra máquina.
Como testar
- Inicie 1 processo com 3 URLs, verifique o log e results.csv.
- Aumente para 3 processos, verifique a unicidade do proxy e a correspondência do IP com o processo.
- Adicione artificialmente 1 proxy inválido, observe como funcionaram as repetições e os logs de erro.
- Inicie em outra máquina (se disponível) e repita o teste.
Métricas de sucesso
- A porcentagem de tentativas bem-sucedidas é estável (por exemplo, 95%+ em páginas de teste).
- Não há colisões de proxies entre os processos.
- Os logs são compreensíveis, permitindo reconstruir a sequência de eventos.
- O tempo de execução do script é reduzido proporcionalmente ao número de processos.
Erros comuns e soluções
- Problema: "É necessária autenticação do proxy". Causa: credenciais incorretas. Solução: verifique login/senha e formato da linha em proxies.csv.
- Problema: Dois processos receberam o mesmo proxy. Causa: recurso sem bloqueio. Solução: ative "Take and lock" ou função similar de bloqueio de linha.
- Problema: IP não muda após rotação. Causa: solicitações de rotação muito frequentes ou atraso do fornecedor. Solução: aumente o intervalo, aguarde 30–120 segundos após a solicitação, verifique as regras de rotação.
- Problema: Processos congelam ao carregar páginas. Causa: timeouts não otimizados ou página pesada. Solução: aumente o timeout, use "Wait For Element", adicione pausas razoáveis.
- Problema: Crescimento abrupto de erros ao aumentar processos. Causa: falta de recursos de CPU/RAM/rede. Solução: reduza o número de processos, otimize o script, adicione recursos.
- Problema: Logs sobrecarregam o disco. Causa: nível de detalhamento alto. Solução: habilite rotação dos logs, diminua o nível de log em produção.
- Problema: Não é possível transferir o projeto. Causa: caminhos absolutos. Solução: use caminhos relativos e estrutura única de pastas.
- Problema: Erros de acesso a proxy em outra máquina. Causa: autorização por IP, lista branca ausente. Solução: adicione o IP da nova máquina ao fornecedor de proxies móveis.
Funcionalidades adicionais
Configurações avançadas
- Pools dinâmicos de proxies: mantenha CSV separados para diferentes regiões ou tarefas e alterne entre eles conforme necessário.
- Orquestração complexa de processos: no nível do BAS, você pode organizar filas de tarefas, priorização e limites para operações simultâneas.
- Cabeçalhos personalizados e perfis do navegador: ajuste User-Agent e idiomas, habilite ou desabilite imagem/JS para otimização de carga, se isso não interferir nas metas do script.
Otimização
- Cache: se sua tarefa permitir, use cache para recursos imutáveis, a fim de acelerar as chamadas subsequentes.
- Divisão de tarefas: separe etapas pesadas (como análise de grandes páginas) em estágios individuais, executando-os em filas.
- Monitoramento: métricas externas de CPU/RAM/disco/rede e métricas internas de taxa de sucesso por processo permitirão identificar rapidamente uma degradação.
O que mais pode ser feito
- Integração com notificações: ao final do script, envie um e-mail ou notificação push com o resumo.
- Atualização automática da lista de proxies: se o fornecedor suporta atualização de hosts/portos atuais, implemente sincronização periódica.
- Rotação flexível via API do fornecedor móvel: por exemplo, em serviços como mobileproxy.space, costumam haver pedidos convenientes para troca de IP com agendamento ou evento.
⚠️ Atenção: Qualquer integração e extensão deve ser feita levando em consideração as leis e regras dos sites-alvo. Não use automação para tarefas que contradizem a legislação ou os termos de uso dos recursos.
FAQ
- Como saber se o proxy está realmente sendo utilizado? Acesse uma página de verificação de IP (por exemplo, via httpbin), compare o IP visível com o IP da sua rede. Ele deve coincidir com o IP do proxy.
- Quantos processos podem ser executados? Depende de CPU/RAM, qualidade do proxy e complexidade do script. Comece com 2–3 e aumente gradativamente, monitorando a taxa de sucesso.
- A rotação de IP móvel é sempre necessária? Não. Faça a rotação por evento (erro de rede, bloqueio) ou em intervalos razoáveis. Rotação frequente pode prejudicar a estabilidade.
- O que é melhor: autorização por login/senha ou por IP? Login/senha torna mais fácil transferir scripts entre máquinas. Por IP, requer menos entradas manuais, mas você precisa atualizar a lista branca ao alterar a rede.
- Posso usar um proxy em vários processos? Não é recomendável. Isso aumenta o risco de conflitos e reduz a gerenciabilidade. É recomendado um processo — um proxy.
- Como armazenar proxies sem expor senhas? Use variáveis protegidas do BAS (se disponíveis), restrinja o acesso a arquivos e criptografe o armazenamento de segredos.
- Por que algumas páginas carregam lentamente? Possíveis atrasos na rede, sobrecarga no site ou conteúdo pesado. Use "Wait For Element", otimize timeouts e diminua o número de operações simultâneas.
- O que fazer se o fornecedor de proxy estiver temporariamente instável? Tenha um pool de reserva de outro fornecedor, diminua o número de processos e adapte os intervalos de rotação até a estabilização.
- Posso executar o script sem GUI? Sim, o BAS suporta execução de projetos através de agendadores e modos de console. Para começar, recomenda-se a depuração via GUI.
- Onde verificar se algo deu errado? Examine logs\main.log, em seguida thread_*.log, depois results.csv. Verifique a correspondência do proxy com o processo e a presença de erros de autenticação.
Conclusão
Você percorreu todo o caminho: da instalação do BAS até a configuração de proxies móveis e a execução de um script em multiprocessamento. Criamos uma estrutura de projeto, implementamos a lógica de tratamento de erros, estabelecemos um sistema de logs e relatórios, além de testarmos a portabilidade. Agora você possui uma base básica, porém confiável: pode expandi-la para suas tarefas, adicionar verificações complexas, enriquecer a reportação e escalar o multiprocessamento à medida que as necessidades e recursos crescem.
A partir daqui, você pode: a) melhorar a precisão dos scripts através de condições e seletores mais refinados, b) introduzir orquestração avançada de processos, c) configurar a atualização e validação automática da lista de proxies móveis utilizando a API do seu fornecedor (por exemplo, um do nível da mobileproxy.space), d) integrar notificações e monitoramento para controle de estabilidade em tempo real.
O princípio fundamental é a gradualidade. Escale com cuidado, meça métricas e documente alterações. Assim, a automação no BAS com proxies móveis se tornará uma ferramenta previsível, segura e eficaz. Se tiver dúvidas sobre a configuração, retorne às seções "Passo 3: Conexão e configuração de proxies móveis no BAS" e "Erros comuns e soluções" através dos links internos no início do guia. Boa sorte na automação prática!