ProdutosIntegraçõesRecursosDocumentaçãoPreços
Começar agora

© 2026 CapSolver. All rights reserved.

Contacte-nos

Slack: lola@capsolver.com

Produtos

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Extensão de Navegador
  • Mais tipos de CAPTCHA

Integrações

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Parceiros
  • Ver todas as integrações

Recursos

  • Programa de Referenciação
  • Documentação
  • Referência da API
  • Blog
  • FAQ
  • Glossário
  • Estado

Legal

  • Termos de Serviço
  • Política de Privacidade
  • Política de Reembolso
  • Não vender os meus dados pessoais
Blog/All/Como usar curl_cffi para Web Scraping
Sep18, 2024

Como usar curl_cffi para Web Scraping

Aloísio Vítor

Aloísio Vítor

Image Processing Expert

O que é curl_cffi?

curl_cffi é uma biblioteca Python que fornece bindings eficientes e de baixo nível para a biblioteca libcurl usando CFFI (C Foreign Function Interface). Isso permite que você execute solicitações HTTP com alto desempenho e controle preciso, semelhante à ferramenta de linha de comando curl, mas dentro do Python. É particularmente útil para tarefas de web scraping que exigem velocidade e configurações avançadas.

Recursos:

  • Alto Desempenho: Aproveita a velocidade do libcurl para solicitações HTTP rápidas.
  • Segurança de Threads: Seguro para uso em aplicações multi-threaded.
  • Recursos Avançados: Suporta proxies, configurações SSL/TLS, cabeçalhos personalizados e muito mais.
  • Controle de Baixo Nível: Fornece controle detalhado sobre o processo de solicitação e resposta.

Pré-requisitos

Antes de começar a usar o curl_cffi, certifique-se de ter o seguinte instalado:

  • Python 3.6 ou superior
  • libcurl instalado em seu sistema
  • pip para instalar pacotes Python

Em sistemas Ubuntu/Debian, você pode precisar instalar os cabeçalhos de desenvolvimento do libcurl:

bash Copy
sudo apt-get install libcurl4-openssl-dev

Começando com curl_cffi

Instalação

Instale o curl_cffi usando o pip:

bash Copy
pip install curl_cffi

Exemplo Básico: Fazendo uma solicitação GET

Aqui está um exemplo básico de como usar o curl_cffi para executar uma solicitação GET:

python Copy
from curl_cffi import requests

# Execute uma solicitação GET
response = requests.get('https://httpbin.org/get')

# Verifique o código de status
print(f'Código de Status: {response.status_code}')

# Imprima o conteúdo da resposta
print('Corpo da Resposta:', response.text)

Exemplo de Web Scraping: Raspagem de Citações de um Site

Vamos raspar uma página da web para extrair informações. Usaremos o Quotes to Scrape para obter todas as citações juntamente com seus autores.

python Copy
from curl_cffi import requests
from bs4 import BeautifulSoup

# URL para raspar
url = 'http://quotes.toscrape.com/'

# Execute uma solicitação GET
response = requests.get(url)

# Analise o conteúdo HTML usando BeautifulSoup
soup = BeautifulSoup(response.content, 'html.parser')

# Encontre todos os elementos de citação
quotes = soup.find_all('div', class_='quote')

# Extraia e exiba as citações e autores
for quote in quotes:
    text = quote.find('span', class_='text').get_text()
    author = quote.find('small', class_='author').get_text()
    print(f'{text} — {author}')

Saída:

Copy
“The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.” — Albert Einstein
“It is our choices, Harry, that show what we truly are, far more than our abilities.” — J.K. Rowling
... (citações adicionais)

Lidando com Captchas com CapSolver e curl_cffi

Nesta seção, exploraremos como integrar o CapSolver com o curl_cffi para contornar captchas. O CapSolver é um serviço externo que ajuda a resolver vários tipos de captchas, incluindo o ReCaptcha V2, que são comumente usados em sites.

Demonstraremos a resolução do ReCaptcha V2 usando o CapSolver e, em seguida, raspando o conteúdo de uma página que requer a resolução do captcha primeiro.

Exemplo: Resolvendo ReCaptcha V2 com CapSolver e curl_cffi

python Copy
import os
import capsolver
from curl_cffi import requests

# Considere usar variáveis de ambiente para informações sensíveis
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "Sua Chave de API CapSolver")
PAGE_URL = os.getenv("PAGE_URL", "https://example.com")  # URL da página com o captcha
PAGE_KEY = os.getenv("PAGE_SITE_KEY", "SITE_KEY")        # Chave do site para o captcha

def solve_recaptcha_v2(url, site_key):
    solution = capsolver.solve({
        "type": "ReCaptchaV2TaskProxyless",
        "websiteURL": url,
        "websiteKey": site_key,
        "proxy": PROXY
    })
    return solution['solution']['gRecaptchaResponse']

def main():
    print("Resolvendo reCaptcha V2...")
    captcha_solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
    print("Captcha Resolvido!")

if __name__ == "__main__":
    main()

Observação: Substitua PAGE_URL pela URL da página que contém o captcha e PAGE_SITE_KEY pela chave do site do captcha. Você pode encontrar a chave do site na fonte HTML da página, geralmente dentro do <div> contendo o widget do captcha.

Lidando com Proxies com curl_cffi

Se você precisar rotear suas solicitações por meio de um proxy, o curl_cffi simplifica isso:

python Copy
from curl_cffi import requests

# Defina as configurações do proxy
proxies = {
    'http': 'http://username:password@proxyserver:port',
    'https': 'https://username:password@proxyserver:port',
}

# Execute uma solicitação GET usando o proxy
response = requests.get('https://httpbin.org/ip', proxies=proxies)

# Imprima o conteúdo da resposta
print('Corpo da Resposta:', response.text)

Lidando com Cookies com curl_cffi

Você pode gerenciar cookies usando o CookieJar do módulo http.cookiejar do Python:

python Copy
from curl_cffi import requests
from http.cookiejar import CookieJar

# Crie uma instância CookieJar
cookie_jar = CookieJar()

# Crie uma sessão com o cookie jar
session = requests.Session()
session.cookies = cookie_jar

# Execute uma solicitação GET
response = session.get('https://httpbin.org/cookies/set?name=value')

# Exiba os cookies
for cookie in session.cookies:
    print(f'{cookie.name}: {cookie.value}')

Uso Avançado: Cabeçalhos Personalizados e Solicitações POST

Você pode enviar cabeçalhos personalizados e executar solicitações POST com curl_cffi:

python Copy
from curl_cffi import requests

# Defina cabeçalhos personalizados
headers = {
    'User-Agent': 'Mozilla/5.0 (compatible)',
    'Accept-Language': 'en-US,en;q=0.5',
}

# Dados para enviar na solicitação POST
data = {
    'username': 'testuser',
    'password': 'testpass',
}

# Execute uma solicitação POST
response = requests.post('https://httpbin.org/post', headers=headers, data=data)

# Imprima a resposta JSON
print('Resposta JSON:', response.json())

Código Bônus

Resgate seu Código Bônus para as melhores soluções de captcha no CapSolver: scrape. Após resgatá-lo, você receberá um bônus extra de 5% após cada recarga, ilimitadas vezes.

Conclusão

Com o curl_cffi, você pode executar tarefas de web scraping de forma eficiente, tendo controle detalhado sobre suas solicitações HTTP. A integração com o CapSolver permite que você contorne captchas como o ReCaptcha V2, permitindo o acesso a conteúdo que seria difícil de raspar de outra forma.

Sinta-se à vontade para expandir esses exemplos para atender às suas necessidades específicas de raspagem. Lembre-se sempre de respeitar os termos de serviço dos sites que você raspa e de seguir as diretrizes legais.

Feliz raspagem!

Ver mais

Apr 30, 2026

Erro do Cloudflare 1020: Acesso Negado em Web Scraping & Proteção WAF

Aprenda o que causa o erro 1020 Acesso Negado do Cloudflare, como o Firewall de Aplicação Web e a detecção de bots funcionam e como os desenvolvedores podem reduzir falsos positivos em fluxos de trabalho de automação legítimos.

Adélia Cruz
Adélia Cruz
Apr 29, 2026

Monitorar preços dos produtos protegidos pelo WAF da AWS no n8n com o CapSolver

Aprenda como usar o modelo CapSolver n8n para monitorar páginas de produtos protegidas pelo AWS WAF, resolver desafios, extrair preços, comparar mudanças e disparar alertas automaticamente.

Adélia Cruz

Índice

Adélia Cruz
Apr 29, 2026

Agentes de IA em SEO: Da Pesquisa de Palavras-Chave até a Coleta de Dados Automatizada

Aprenda como os agentes de IA em SEO automatizam a pesquisa de palavras-chave, análise de concorrentes e coleta de dados — e como lidar com desafios CAPTCHA na sua pipeline com o CapSolver.

Adélia Cruz
Adélia Cruz
Apr 29, 2026

Documentação da API de Resolução de CAPTCHA para Desenvolvedores: Guia de 2026

Domine a resolução de CAPTCHA com nossa documentação completa da API para desenvolvedores. Aprenda como integrar o CapSolver para lidar com reCAPTCHA, AWS WAF e muito mais.

Adélia Cruz
Adélia Cruz