Neste tutorial, você aprenderá:
- O que é o Botright e como ele funciona
- Como usá-lo para raspagem da Web
- Um guia passo a passo para resolver CAPTCHAs com o Botright
- Alternativas ao Botright para solução de CAPTCHA em fluxos de trabalho de raspagem
- Limitações desta biblioteca e como superá-las
Vamos mergulhar de cabeça!
O que é o Botright?
O Botright é uma estrutura de raspagem da Web em Python de código aberto para automatizar as interações do navegador e extrair dados de sites. Ele aproveita a automação do navegador e técnicas furtivas para imitar o comportamento real do usuário. Isso o torna eficaz para a raspagem de sites dinâmicos e protegidos por sistemas anti-bot, como o Cloudflare.
Ele é baseado no Playwright e usa modelos de aprendizado de máquina para ajudá-lo a contornar CAPTCHAs. Para atingir seus objetivos de impedir os bots, os CAPTCHAs são projetados para serem fáceis de resolver para os humanos, mas difíceis para os scripts automatizados. Ainda assim, alguns modelos de aprendizado de máquina são poderosos o suficiente para superá-los.
Prós:
- Evasão da detecção de antibot: O Botright foi criado especificamente para contornar os sistemas antibot. Ele consegue isso por meio de recursos como alteração das impressões digitais do navegador, uso de mecanismos de navegador reais ou modificados e simulação de interações semelhantes às humanas.
- Solução integrada de CAPTCHA: Ele oferece recursos integrados de aprendizado de máquina para resolver CAPTCHAs comuns.
- Lida com conteúdo dinâmico: Como uma ferramenta de automação do navegador, ele lida com sites com muito JavaScript e carregamento de conteúdo dinâmico.
Cons:
- Muitas dependências: Para expor seus recursos de solução de CAPTCHA, ele depende de algumas bibliotecas de matemática, aprendizado de máquina e interação avançada. Isso pode fazer com que o tamanho total da instalação chegue a alguns GBs.
- Evolução do cenário anti-bot: A eficácia de qualquer biblioteca antidetecção pode diminuir com o tempo, à medida que os sites atualizam suas técnicas de detecção de bots e CAPTCHAs.
- Não é mantida: A biblioteca não é atualizada com frequência e requer uma versão mais antiga do Python, além de alguns ajustes manuais para fazê-la funcionar.
Como usar o Botright para raspagem da Web
Lembre-se de que o Botright foi desenvolvido com base no Playwright. Portanto, depois de inicializá-lo, você pode usar a API para raspagem da Web exposta pelo Playwright básico:
import asyncio
import botright
async def main():
# Create a Botright browser instance
botright_client = await botright.Botright()
browser = await botright_client.new_browser()
# Create a new page instance
page = await browser.new_page()
# Visit the target page
await page.goto("https://example.com")
# Scraping logic with the Playwright API...
# Close the botright browser instance
await botright_client.close()
# Execute the scraper function
if __name__ == "__main__":
asyncio.run(main())
Observe que o Botright está disponível somente no modo assíncrono, por isso você deve usá-lo via asyncio
.
Após a inicialização do navegador no Botwright, você pode usar a API do Playwright para raspagem da Web.
Como resolver CAPTCHAs com o Botright: Guia passo a passo
A verdadeira superpotência do Botright é a capacidade de resolver CAPTCHAs. De acordo com a página oficial do GitHub, estes são os CAPTCHAs que ele pode resolver:
Tipo de Captcha | Resolvido por | Taxa de sucesso |
---|---|---|
hCaptcha | hcaptcha-challenger |
Até 90% |
reCaptcha | reCognizer |
De 50% a 80% |
v3 Modo inteligente | Furtividade da Botright | 100% |
Captcha do controle deslizante v3 | cv2.matchTemplate |
100% |
v3 Nove Captcha | Detecção de CLIP | 50% |
Captcha de ícone v3 | cv2.matchTemplate / SSIM / CLIP |
70% |
Modo inteligente v4 | Furtividade da Botright | 100% |
Captcha do controle deslizante v4 | cv2.matchTemplate |
100% |
v4 GoBang Captcha | Cálculos matemáticos | 100% |
Captcha de ícone v4 | cv2.matchTemplate / SSIM / CLIP |
60% |
v4 IconCrush Captcha | Cálculos matemáticos | 100% |
Nesta seção guiada, você verá como resolver um reCAPTCHA do Google com o Botright. Siga as etapas abaixo para atingir o objetivo!
Requisitos
Para reproduzir este tutorial, você precisa atender aos seguintes pré-requisitos:
- Python 3.10.11 instalado.
- A versão mais recente do
pip
.
Observação: As versões mais recentes do Python não funcionarão com o Botright. Portanto, você deve ter a versão 3.10.11 ou inferior instalada em sua máquina.
Etapa 1: Configuração do projeto e instalação do Botright
No final desta seção, o botright_project/
que representa a pasta do seu projeto conterá:
botright_project/
├── scaper.py
└── venv/
Onde:
scraper.py
é o arquivo Python com a lógica de resolução de CAPTCHA da Botright.venv/
é o ambiente virtual do Python 3.10.
No Windows, você pode criar o diretório venv/
do ambiente virtual do Python 3.10 da seguinte forma:
py -3.10 -m venv venv
Para ativá-lo, execute:
venv\Scripts\activate
De forma equivalente, no Linux, execute:
python3.10 -m venv venv
Em seguida, ative-o com:
source venv/bin/activate
No ambiente virtual ativado, atualize o pip
para a versão mais recente:
python -m pip install --upgrade pip
Em seguida, instale o Botright com:
pip install botright --use-pep517
pip install hcaptcha_challenger==="0.10.1.post2"
Observações:
--use-pep517
é obrigatório para garantir que todas as dependências legadas que dependem de um arquivopyproject.toml
sejam instaladas corretamente.O hcaptcha_challenger
evoluiu muito desde que a última versão do Botright foi lançada. Em detalhes, a versão mais recente dohcaptcha_challenger
não expõe mais os métodos chamados pelo Botright nos bastidores. Portanto, você deve instalar uma versão específica para que a biblioteca funcione.
Excelente! Seu ambiente está configurado para resolver CAPTCHAs com o Botright.
Etapa 2: definir a lógica para a resolução de CAPTCHAs
Para resolver CAPTCHAs com o Botright, escreva o seguinte código no arquivo scraper.py
:
import asyncio
import botright
async def scraper():
# Start the Botright instance
botright_client = await botright.Botright(headless=True)
browser = await botright_client.new_browser()
# Create a new page instance
page = await browser.new_page()
# Open the target web page with the reCAPTCHA demo
await page.goto("https://www.google.com/recaptcha/api2/demo")
# Solve the CAPTCHA
await page.solve_recaptcha()
# Screenshot the page to capture the solved CAPTCHA
await page.screenshot(path="screenshot.png")
# Close the botright browser instance
await botright_client.close()
# Execute the scraper function
if __name__ == "_main_":
asyncio.run(scraper())
O código acima:
- Usa o método
new_browser()
para iniciar uma instância do navegador Botright no modo headless, que é uma versão especial do Chromium, mas otimizada para ser invisível. - Cria uma nova instância de página e abre a página de demonstração do reCAPTCHA nela.
- Resolve o CAPTCHA com o método
solve_recaptcha()
. - Faz uma captura de tela do CAPTCHA resolvido e fecha a instância do navegador.
Observação: Leia a seção “Captcha Solving” (Resolução de Captcha ) na documentação para saber quais são os métodos compatíveis necessários para resolver os outros tipos de CAPTCHAs.
Perfeito! Você escreveu a lógica para resolver um reCAPTCHA com o Botright.
Etapa 3: Executar o código
Execute o código com:bash python scraper.py
Isso é o que você verá ao executar o script no modoheadless (headless=False
):
O screenshot.png
produzido pelo script Botright conterá:
Eventualmente, o script deverá detectar todas as imagens e resolver os CAPTCHAs automaticamente. No entanto, como não há garantia de que a precisão seja de 100%, ele pode falhar ocasionalmente. Nesses casos, basta continuar executando o script até que ele seja bem-sucedido. Na produção, você deve implementar uma lógica de repetição automática.
Como você pode ver, o Botright combina modelos de aprendizado de máquina com ferramentas automatizadas de integração humana para:
- Entenda o que o CAPTCHA está perguntando
- Detectar as imagens que correspondem aos critérios exigidos
- Clique nessas imagens como um ser humano faria
Missão concluída!
Alternativas ao Botright para a solução de CAPTCHAs
Os CAPTCHAs são eficazes até mesmo contra a maioria dos bots. Embora possam atrapalhar a experiência dos usuários comuns, os CAPTCHAs modernos continuam sendo uma das principais defesas contra scrapers e rastreadores de IA. É por isso que eles estão se tornando cada vez mais populares, pois a maioria dos sites quer proteger suas páginas e dados da tendência crescente de bots de IA.
Agora, o Botright não é a única ferramenta capaz de resolver CAPTCHAs. Se você precisar contornar os CAPTCHAs durante a raspagem, considere as seguintes bibliotecas e abordagens alternativas:
- Como contornar CAPTCHAs com o Puppeteer
- Como contornar CAPTCHAs com Selenium em Python
- Como contornar CAPTCHAs com o Playwright
- Guia de raspagem da Web com o SeleniumBase em 2025
- Como usar o ChromeDriver não detectado para raspagem da Web
- Os 5 melhores proxies CAPTCHA de 2025
Limitações do uso do Botright no Web Scraping
O Botright é uma ferramenta bastante eficaz para a solução de CAPTCHA em raspagem da Web, mas está longe de ser perfeita. A biblioteca usa métodos baseados em aprendizado de máquina que nem sempre produzem resultados consistentes. Além disso, ela está um pouco desatualizada e não é mantida com frequência.
Esse é um grande problema, especialmente considerando que os CAPTCHAs modernos estão se tornando cada vez mais complexos. Como resultado, os modelos de aprendizado de máquina por trás do Botright precisariam de atualizações regulares para se manterem atualizados.
Em resumo, não espere que o Botright resolva os CAPTCHAs modernos. Isso é especialmente verdadeiro quando se depara com novos CAPTCHAs baseados em quebra-cabeças, como os fornecidos pelo hCaptcha:
Conforme mostrado no resultado do vídeo anterior (gravado em velocidade 3x), o Botright não é particularmente rápido. O motivo é que ele consome muitos recursos de computação para analisar cada nova imagem apresentada pelo reCAPTCHA e determinar a imagem correta para clicar. Em cenários do mundo real, o Botright pode levar até 15 segundos para resolver um reCAPTCHA. Isso é tempo demais para operações de raspagem em grande escala.
Além disso, o Botright também é baseado no Playwright, que traz todas as limitações típicas das ferramentas de automação do navegador. Isso inclui problemas com a impressão digital do navegador no modo headless e alto consumo de recursos.
Para uma solução mais rápida e consistente de CAPTCHA em fluxos de trabalho de raspagem com base na automação do navegador, uma opção melhor é usar um navegador baseado em nuvem otimizado para raspagem da Web. A solução é o Scraping Browser.
O Scraping Browser é um navegador de raspagem na nuvem que oferece recursos integrados de desvio de antibot, rotação automática de IP, proteção de impressão digital do navegador, mecanismos de repetição e, é claro, solução de CAPTCHA.
Em particular, a solução pode lidar com uma ampla variedade de CAPTCHAs, incluindo reCAPTCHA, hCaptcha, px_captcha, SimpleCaptcha, GeeTest CAPTCHA, FunCaptcha, Cloudflare Turnstile, AWS WAF Captcha, KeyCAPTCHA e muitos outros.
Conclusão
Neste artigo, você aprendeu como o Botright aproveita a automação do navegador e o aprendizado de máquina para resolver CAPTCHAs para fins de raspagem da Web. Embora ofereça alguns recursos anti-bot flexíveis, o Botright sofre de desempenho lento, alto consumo de recursos, dependências desatualizadas e resultados inconsistentes.
Para empresas e equipes que precisam de uma solução mais rápida e fácil para superar CAPTCHAs em escala, a Bright Data oferece vários produtos avançados que vão muito além da abordagem de código aberto da Botright:
- Solucionador de CAPTCHA: Um solucionador de nível empresarial compatível com uma ampla variedade de tipos de CAPTCHA (incluindo reCAPTCHA, hCaptcha, Cloudflare e outros) e que oferece altas taxas de sucesso sem grandes dependências locais.
- Navegador de raspagem: Um navegador baseado na nuvem criado especificamente para raspagem, com rotação automática de IP, proteções anti-bot incorporadas e solução perfeita de CAPTCHA – tudo gerenciado na nuvem para eficiência e confiabilidade.
- Web Unlocker: Um mecanismo de desbloqueio de última geração projetado para lidar com os desafios mais difíceis de anti-bot e anti-CAPTCHA, escolhendo automaticamente a melhor abordagem para cada solicitação de site sem nenhuma intervenção manual.
- Serviços de proxy: Acesso ao maior pool de proxy do mundo (residencial, de data center e móvel) para contornar restrições geográficas e aumentar o anonimato – essencial para projetos de raspagem distribuídos ou de alto volume.
- APIs de raspagem: Ferramentas para extrair dados estruturados da Web em escala, com antibloqueio e solução de CAPTCHA incorporados em cada solicitação, além de painéis de gerenciamento intuitivos.
Com a Bright Data, você pode raspar sites de qualquer complexidade, economizar recursos de engenharia e garantir a conformidade com as práticas recomendadas do setor. Comece sua avaliação gratuita agora!
Não é necessário cartão de crédito