AI ScraperGuia

Nada encontrado, proxies e captchas

Uma busca por um valor que não existe é uma resposta normal, não uma falha; um site que bloqueia servidores precisa de um proxy; um captcha precisa de um resolvedor. Um scraper aprende cada uma dessas coisas durante a construção, registra junto com a versão e diz claramente o que falta — ele nunca falha uma execução sem dizer por quê.

O que você vai aprender
  • Diferenciar “Nada encontrado” de uma execução que falhou
  • Escolher como um scraper sai: direto, proxies rotativos ou um proxy fixo
  • Configurar um resolvedor de captcha para o projeto
  • Ler o aviso que um scraper mostra quando falta algo

“Nada encontrado” é uma resposta

Durante a construção, o scraper repete o percurso uma vez com um valor no mesmo formato do seu, mas que com certeza não existe — BR102019000123 vira BR999999999999 —, e guarda a frase que só aquela página mostra, como Nenhum processo encontrado. O programa confere essa frase no passo em que o valor inválido não passou.

Pythonprocess_lookup.py
NOT_FOUND = "No process found"

# … inside main(), right after the search is submitted:
if waiso.page_has_text(page, NOT_FOUND):
    return waiso.not_found()

Uma execução assim termina com sucesso, sem linhas e com notFound: true. A página de execuções mostra uma etiqueta neutra Nada encontrado, um passo de flow recebe notFound na saída, e nada vai para correção — o site respondeu, só não tinha nada para entregar.

ExecuçõesToda execução de script e flow deste projeto
Live
Busque nome ou valor · amount>100Ctrl KHoje7 dias30 diasTudo
Tipo: todosStatus: todosAguardando você 1
campaignFlowIniciado porAgendamentoDuração713msRodou emhá 5 hStatusSucesso
load_customerspasso 1 de campaignIniciado porcampaignDuração38msRodou emhá 5 hStatusSucesso
send_offer ×4passo 2 · loopIniciado porcampaignDuração188msRodou emhá 5 hStatusSucesso
approvalFlowIniciado porana@shop.devDuração174msRodou emhá 5 hStatusAguardando
report.pyIniciado porAgendamentoDuração6.7sRodou emhá 4 hStatusSucesso
broken.pyIniciado porana@shop.devDuração877msRodou emhá 26 minStatusFalhou
Na página de execuções, uma busca sem resultado aparece como “Nada encontrado”, não como falha.

Proxies

Um scraper novo começa sem proxy: um proxy que ninguém escolheu gasta o pool do navegador e pode mudar o que o site devolve. Abra Rede e Proxies do scraper para escolher como as execuções saem.

ModoO que as execuções fazem
DesligadoSaem direto, do nosso próprio endereço. Rápido, mas um site que nos bloqueia continua bloqueando.
RotativoAlternam entre as proxies do grupo escolhido; se um site recusa uma, a execução tenta a próxima.
FixoSempre saem pela única proxy que você fixar. Simples, mas sem alternativa.

Se a própria construção é bloqueada, ela tenta de novo pelo pool de proxies do projeto e registra que este robô precisa de um proxy. Sem proxy no projeto, o Studio mostra Este robô precisa de um proxy com um link Adicionar um proxy, e as execuções falham com proxy_none até existir um.

Captchas

Um captcha de checkbox é resolvido com um clique. Qualquer coisa mais difícil é enviada para o seu endpoint resolvedor, que responde com um token. Configure uma vez para o projeto — URL do endpoint solucionador, um cabeçalho de autenticação opcional e o segredo dele, depois Testar endpoint — e um scraper pode sobrescrever quando o projeto permitir.

  • Um captcha encontrado durante a construção é registrado e o programa declara isso com waiso.needs(captcha=…).
  • O motor responde ao pedido de token do programa; o segredo do resolvedor nunca chega ao programa.
  • Cada execução diz como foi: Resolvido pelo checkbox, Resolvido pelo endpoint solucionador ou Não resolvido.

Limites

  • O Waiso não vende proxies nem resolve captchas por conta própria: você traz as proxies e o resolvedor.
  • Uma versão nova mantém as necessidades do rascunho; restaurar uma versão traz de volta as necessidades dela.