Web Scraping com Botright e Python em 2025

Lucas Mitchell
Automation Engineer
14-Nov-2024

Provavelmente está a questionar-se como resolver captchas usando BotRight, como usá-lo para criar um scraper simples ou, ainda melhor, um scraper avançado!
Bem, então este é o seu tutorial!
Introdução ao Botright
Introdução ao BotRight
BotRight é uma biblioteca Python avançada para automação web, concebida especificamente para navegar pelas crescentes complexidades dos sistemas de deteção de bots em vários websites. Ao contrário de ferramentas de automação básicas, BotRight vai além das interações simples, fornecendo controlos matizados que fazem com que a navegação automatizada pareça muito semelhante à humana. Esta ênfase na simulação do comportamento humano é crucial para aceder a websites que, normalmente, bloqueiam ou limitam bots.
Construído em cima do Selenium WebDriver, BotRight oferece uma API de alto nível que abstrai interações complexas do navegador em comandos simples, permitindo que tanto principiantes como utilizadores avançados desenvolvam scrapers sofisticados e scripts de automação sem a necessidade de gerir comandos de navegador de baixo nível. Isto torna-o uma excelente escolha para projetos que vão desde a recolha simples de dados até tarefas web complexas de várias etapas que exigem resiliência contra algoritmos de deteção de bots.
Porquê escolher BotRight?
BotRight fornece vários recursos que o destacam na paisagem da automação:
-
Interações semelhantes à humana: O design do BotRight centra-se na simulação de ações reais de utilizadores, como movimentos suaves do rato, padrões de digitação naturais e atrasos de temporização. Estes comportamentos reduzem o risco de deteção e proporcionam acesso mais fiável a conteúdo que é normalmente restrito a utilizadores genuínos.
-
Persistência do estado do navegador: Ao suportar perfis de navegador, BotRight permite manter o estado da sessão em várias execuções de automação. Esta funcionalidade é particularmente útil para tarefas que requerem persistência de login ou onde estados específicos de cookies e cache devem ser preservados.
-
Facilidade de utilização: Apesar das suas capacidades avançadas, BotRight é incrivelmente fácil de usar. A sua API é estruturada para simplificar tarefas de automação complexas, removendo grande parte da sobrecarga técnica que normalmente acompanha as configurações do Selenium. Os principiantes podem começar rapidamente, enquanto os especialistas podem aproveitar a flexibilidade do BotRight para construir soluções altamente personalizadas.
-
Escalabilidade para fluxos de trabalho complexos: BotRight adapta-se bem a tarefas mais avançadas, incluindo o manuseio de sites alimentados por AJAX, a gestão da extração de dados paginados, a resolução de CAPTCHAs e muito mais. Emparelhado com resolvedores de CAPTCHA como o CapSolver, BotRight pode lidar com fluxos de trabalho que exigem o desvio de CAPTCHAs, permitindo automatizar até mesmo websites fortemente protegidos.
-
Extensões e plugins integrados: BotRight suporta a inclusão de várias extensões e plugins para melhorar as capacidades de automação. Por exemplo, a utilização de ferramentas como CapSolver dentro do BotRight ajuda a gerir desafios de CAPTCHA, desbloqueando uma gama mais ampla de websites para scraping ou automação.
Configurar Botright
Antes de começarmos, certifique-se de que tem Python 3.7 ou superior instalado no seu sistema. Siga estes passos para configurar Botright:
-
Instalar Botright:
bashpip install botright -
Instalar o WebDriver Manager:
Botright confia no pacote
webdriver_managerpara gerir drivers de navegador.bashpip install webdriver-manager -
Verificar a instalação:
Crie um novo ficheiro Python e importe Botright para garantir que está instalado corretamente.
pythonfrom botright import BotrightSe não houver erros, Botright está instalado corretamente.
Criar scrapers básicos
Vamos criar scripts simples para raspar dados de quotes.toscrape.com usando Botright.
Scraping de citações
Script: scrape_quotes.py
python
from botright import Botright
def scrape_quotes():
with Botright() as bot:
bot.get("https://quotes.toscrape.com/")
quotes = bot.find_elements_by_css_selector("div.quote")
for quote in quotes:
text = quote.find_element_by_css_selector("span.text").text
author = quote.find_element_by_css_selector("small.author").text
print(f"\"{text}\" - {author}")
if __name__ == "__main__":
scrape_quotes()
Executar o script:
bash
python scrape_quotes.py
Saída:
“O mundo como o criamos é um processo do nosso pensamento. Ele não pode ser mudado sem mudar o nosso pensamento.” - Albert Einstein
...
Explicação:
- Usamos
Botrightcomo um gestor de contexto para garantir a configuração e desmontagem corretas. - Navegamos para o website usando
bot.get(). - Encontramos todos os elementos de citação e extraímos o texto e o autor.
Lidar com paginação
Script: scrape_quotes_pagination.py
python
from botright import Botright
def scrape_all_quotes():
with Botright() as bot:
bot.get("https://quotes.toscrape.com/")
while True:
quotes = bot.find_elements_by_css_selector("div.quote")
for quote in quotes:
text = quote.find_element_by_css_selector("span.text").text
author = quote.find_element_by_css_selector("small.author").text
print(f"\"{text}\" - {author}")
# Verificar se há uma página seguinte
next_button = bot.find_elements_by_css_selector('li.next > a')
if next_button:
next_button[0].click()
else:
break
if __name__ == "__main__":
scrape_all_quotes()
Explicação:
- Percorremos as páginas verificando se o botão "Seguinte" está disponível.
- Usamos
find_elements_by_css_selectorpara localizar elementos. - Clicamos no botão "Seguinte" para navegar para a página seguinte.
Scraping de conteúdo dinâmico
Script: scrape_dynamic_content.py
python
from botright import Botright
import time
def scrape_tags():
with Botright() as bot:
bot.get("https://quotes.toscrape.com/")
# Clicar na ligação 'Top Ten tags' para carregar etiquetas dinamicamente
bot.click('a[href="/tag/"]')
# Esperar que o conteúdo dinâmico carregue
time.sleep(2)
tags = bot.find_elements_by_css_selector("span.tag-item > a")
for tag in tags:
tag_name = tag.text
print(f"Tag: {tag_name}")
if __name__ == "__main__":
scrape_tags()
Explicação:
- Navegamos para a página de etiquetas clicando na ligação.
- Esperamos que o conteúdo dinâmico carregue usando
time.sleep(). - Extraímos e imprimimos as etiquetas.
Submeter formulários e fazer login
Script: scrape_with_login.py
python
from botright import Botright
def login_and_scrape():
with Botright() as bot:
bot.get("https://quotes.toscrape.com/login")
# Preencher o formulário de login
bot.type('input#username', 'testuser')
bot.type('input#password', 'testpass')
bot.click("input[type='submit']")
# Verificar o login verificando a presença de uma ligação de logout
if bot.find_elements_by_css_selector('a[href="/logout"]'):
print("Fez login com sucesso!")
# Agora raspar as citações
bot.get("https://quotes.toscrape.com/")
quotes = bot.find_elements_by_css_selector("div.quote")
for quote in quotes:
text = quote.find_element_by_css_selector("span.text").text
author = quote.find_element_by_css_selector("small.author").text
print(f"\"{text}\" - {author}")
else:
print("O login falhou.")
if __name__ == "__main__":
login_and_scrape()
Explicação:
- Navegamos para a página de login e preenchemos as credenciais.
- Verificamos o login verificando a presença de uma ligação de logout.
- Em seguida, procedemos ao scraping do conteúdo disponível para utilizadores com sessão iniciada.
Nota: Como quotes.toscrape.com permite qualquer nome de utilizador e palavra-passe para demonstração, podemos usar credenciais fictícias.
Integrar CapSolver no Botright
Embora quotes.toscrape.com não tenha CAPTCHAs, muitos websites do mundo real têm. Para nos prepararmos para esses casos, vamos demonstrar como integrar CapSolver no nosso script Botright usando a extensão do navegador CapSolver.
Descarregar a extensão CapSolver
-
Descarregar a extensão:
- Visite a página Lançamentos do GitHub CapSolver.
- Descarregue a versão mais recente, por exemplo,
capsolver-chrome-extension-v0.2.3.zip. - Descompacte-a para um diretório na raiz do seu projeto, por exemplo,
./capsolver_extension.
Configurar a extensão CapSolver
-
Localizar
config.json:- Caminho:
capsolver_extension/assets/config.json
- Caminho:
-
Editar
config.json:json{ "apiKey": "YOUR_CAPSOLVER_API_KEY", "enabledForcaptcha": true, "captchaMode": "token", "enabledForRecaptchaV2": true, "reCaptchaV2Mode": "token", "solveInvisibleRecaptcha": true, "verbose": false }- Substitua
"YOUR_CAPSOLVER_API_KEY"pela sua chave API CapSolver real. - Defina
enabledForcaptchae/ouenabledForRecaptchaV2paratruecom base nos tipos de CAPTCHA que espera. - Defina o modo para
"token"para resolução automática.
- Substitua
Carregar a extensão CapSolver no Botright
Para usar a extensão CapSolver no Botright, precisamos de configurar o navegador para carregar a extensão quando este iniciar.
Nota: Botright permite personalizar as opções do navegador, incluindo a adição de extensões.
Script modificado:
python
from botright import Botright
from selenium.webdriver.chrome.options import Options
import os
def create_bot_with_capsolver():
# Caminho para a pasta da extensão CapSolver
extension_path = os.path.abspath('capsolver_extension')
# Configurar opções do Chrome
options = Options()
options.add_argument(f"--load-extension={extension_path}")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
# Inicializar Botright com opções personalizadas
bot = Botright(options=options)
return bot
Explicação:
- Importar
Options:- De
selenium.webdriver.chrome.options, para definir opções do Chrome.
- De
- Configurar opções do Chrome:
- Usar
options.add_argument()para adicionar a extensão CapSolver.
- Usar
- Inicializar Botright com opções:
- Passar as
optionsparaBotrightao criar uma instância.
- Passar as
Exemplo de script com integração do CapSolver
Vamos demonstrar a integração navegando para um site com um reCAPTCHA, como a demonstração do reCAPTCHA do Google.
Script: scrape_with_capsolver_extension.py
python
from botright import Botright
from selenium.webdriver.chrome.options import Options
import os
import time
def solve_captcha_and_scrape():
# Caminho para a pasta da extensão CapSolver
extension_path = os.path.abspath('capsolver_extension')
# Configurar opções do Chrome
options = Options()
options.add_argument(f"--load-extension={extension_path}")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
# Inicializar Botright com opções personalizadas
with Botright(options=options) as bot:
bot.get("https://www.google.com/recaptcha/api2/demo")
# Esperar que o CAPTCHA seja resolvido pelo CapSolver
print("A aguardar que o CAPTCHA seja resolvido...")
# Ajustar o tempo de espera com base no tempo médio de resolução
time.sleep(15)
# Verificar se o CAPTCHA foi resolvido verificando o conteúdo da página
if "Verification Success" in bot.page_source:
print("CAPTCHA resolvido com sucesso!")
else:
print("CAPTCHA ainda não resolvido ou falhou.")
if __name__ == "__main__":
solve_captcha_and_scrape()
Explicação:
- Configurar opções do Chrome:
- Incluir a extensão CapSolver na sessão do navegador.
- Inicializar Botright com opções:
- Passar as
optionsao criar a instânciaBotright.
- Passar as
- Navegar para o site de destino:
- Usar
bot.get()para navegar para o site com um reCAPTCHA.
- Usar
- Esperar que o CAPTCHA seja resolvido:
- A extensão CapSolver resolverá automaticamente o CAPTCHA.
- Usar
time.sleep()para esperar; ajustar o tempo conforme necessário.
- Verificar a resolução do CAPTCHA:
- Verificar o conteúdo da página para confirmar se o CAPTCHA foi resolvido.
Notas importantes:
- Caminho da extensão:
- Certifique-se de que
extension_pathaponta corretamente para a sua pasta da extensão CapSolver.
- Certifique-se de que
- Tempo de espera:
- O tempo de resolução pode variar; ajustar
time.sleep()conforme necessário.
- O tempo de resolução pode variar; ajustar
- Gestão do driver:
- Botright gere o WebDriver internamente; passar
optionspersonaliza o driver.
- Botright gere o WebDriver internamente; passar
- Conformidade:
- Certifique-se de que cumpre os termos de serviço do website que está a raspar.
Executar o script:
bash
python scrape_with_capsolver_extension.py
Código bónus
Reclame o seu Código bónus para as melhores soluções de captcha em CapSolver: scrape. Após o resgatar, receberá um bónus extra de 5% após cada recarga, ilimitado.

Conclusão
Ao integrar CapSolver com Botright usando a extensão do navegador CapSolver, pode automatizar a resolução de CAPTCHA nos seus projetos de scraping web. Isto garante a extração de dados ininterrupta, mesmo de sites protegidos por CAPTCHAs.
Pontos principais:
- Botright simplifica a automação web com interações semelhantes à humana.
- A extensão do navegador CapSolver pode ser integrada em scripts Botright.
- A configuração correta da extensão e das opções do navegador é crucial.
Declaração de Conformidade: As informações fornecidas neste blog são apenas para fins informativos. A CapSolver está comprometida em cumprir todas as leis e regulamentos aplicáveis. O uso da rede CapSolver para atividades ilegais, fraudulentas ou abusivas é estritamente proibido e será investigado. Nossas soluções de resolução de captcha melhoram a experiência do usuário enquanto garantem 100% de conformidade ao ajudar a resolver dificuldades de captcha durante a coleta de dados públicos. Incentivamos o uso responsável de nossos serviços. Para mais informações, visite nossos Termos de Serviço e Política de Privacidade.
Mais

Erro do Cloudflare 1006, 1007, 1008 Solução para Resolver | Como Corrigir
Lidando com erros do Cloudflare 1006, 1007 ou 1008? Aprenda soluções práticas para resolver esses bloqueios de acesso e melhorar sua experiência de crawling na web.

Anh Tuan
05-Dec-2025

Como resolver captchas ao realizar web scraping com o Scrapling e o CapSolver
Scrapling + CapSolver permite raspagem automatizada com ReCaptcha v2/v3 e Cloudflare Turnstile bypass.

Aloísio Vítor
05-Dec-2025

Alterar o User-Agent no Selenium | Passos & Boas Práticas
Alterar o Agente de Usuário no Selenium é um passo crucial para muitas tarefas de raspagem da web. Ajuda a disfarçar o script de automação como um navegador regular...

Emma Foster
05-Dec-2025

Como identificar se `action` é necessário para resolver o Cloudflare Turnstile usando a extensão CapSolver
Aprenda a identificar ações para resolução eficaz de captchas cloudflare turnstile. Siga nosso guia passo a passo sobre o uso das ferramentas e técnicas do Capsolver.

Aloísio Vítor
05-Dec-2025

Descubra o Poder do 9Proxy: Uma Revisão Abrangente
Neste artigo, vamos mostrar a você o que é 9proxy e os serviços que eles oferecem.

Ethan Collins
04-Dec-2025

Web Scraping com Selenium e Python | Resolvendo Captcha Ao Fazer Web Scraping
Neste artigo, você vai se familiarizar com a raspagem de dados da web usando o Selenium e o Python, e aprender a resolver o Captcha envolvido no processo para uma extração de dados eficiente.

Anh Tuan
04-Dec-2025

