Bright Data (anteriormente Luminati) fornece a maior rede proxy - mais de 72 milhões de IPs residenciais em 195 países. Combinado com CaptchaAI, você obtém IPs limpos para navegação, além de solução automatizada de CAPTCHA quando surgem desafios.
Arquitetura
Your Script ──▶ Bright Data Proxy ──▶ Target Site
│
CAPTCHA appears
│
CaptchaAI API ──▶ Solved token
│
Inject token ◀─┘
CaptchaAI não roteia através do seu proxy – ele resolve no lado do servidor usando sua própria infraestrutura. Seu proxy cuida da navegação; CaptchaAI lida com os CAPTCHAs.
Tipos de proxy de dados brilhantes
| Tipo | IPs | Velocidade | Custo | Taxa CAPTCHA |
|---|---|---|---|---|
| Centro de dados | 770K+ | Rápido | Baixo | Superior |
| Residencial | Mais de 72 milhões | Médio | Médio | Inferior |
| ISP | Mais de 700 mil | Rápido | Alto | Mais baixo |
| Celular | Mais de 7 milhões | Lento | Alto | Muito baixo |
Integração Python
Solicitações + Dados Bright + CaptchaAI
import requests
import time
CAPTCHAAI_KEY = "YOUR_API_KEY"
CAPTCHAAI_URL = "https://ocr.captchaai.com"
# Bright Data proxy credentials
BRIGHT_DATA_PROXY = {
"http": "http://brd-customer-CUSTOMER_ID-zone-ZONE:PASSWORD@brd.superproxy.io:22225",
"https": "http://brd-customer-CUSTOMER_ID-zone-ZONE:PASSWORD@brd.superproxy.io:22225",
}
def fetch_with_proxy(url):
"""Fetch a page through Bright Data proxy."""
resp = requests.get(
url,
proxies=BRIGHT_DATA_PROXY,
headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/126.0.0.0 Safari/537.36"
},
timeout=30,
)
return resp
def solve_recaptcha(site_url, sitekey):
"""Solve reCAPTCHA v2 via CaptchaAI."""
resp = requests.post(f"{CAPTCHAAI_URL}/in.php", data={
"key": CAPTCHAAI_KEY,
"method": "userrecaptcha",
"googlekey": sitekey,
"pageurl": site_url,
"json": 1,
})
data = resp.json()
if data["status"] != 1:
raise Exception(f"Submit: {data['request']}")
task_id = data["request"]
for _ in range(60):
time.sleep(5)
resp = requests.get(f"{CAPTCHAAI_URL}/res.php", params={
"key": CAPTCHAAI_KEY,
"action": "get",
"id": task_id,
"json": 1,
})
data = resp.json()
if data["request"] == "CAPCHA_NOT_READY":
continue
if data["status"] == 1:
return data["request"]
raise Exception(f"Solve: {data['request']}")
raise TimeoutError("Solve timeout")
def solve_turnstile(site_url, sitekey):
"""Solve Cloudflare Turnstile via CaptchaAI."""
resp = requests.post(f"{CAPTCHAAI_URL}/in.php", data={
"key": CAPTCHAAI_KEY,
"method": "turnstile",
"sitekey": sitekey,
"pageurl": site_url,
"json": 1,
})
data = resp.json()
task_id = data["request"]
for _ in range(60):
time.sleep(5)
resp = requests.get(f"{CAPTCHAAI_URL}/res.php", params={
"key": CAPTCHAAI_KEY,
"action": "get",
"id": task_id,
"json": 1,
})
data = resp.json()
if data["request"] != "CAPCHA_NOT_READY":
return data["request"]
raise TimeoutError("Solve timeout")
Selênio + Dados Brilhantes + CaptchaAI
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
BRIGHT_DATA_HOST = "brd.superproxy.io"
BRIGHT_DATA_PORT = 22225
BRIGHT_DATA_USER = "brd-customer-CUSTOMER_ID-zone-residential"
BRIGHT_DATA_PASS = "PASSWORD"
def create_driver_with_proxy():
options = webdriver.ChromeOptions()
options.add_argument(
f"--proxy-server=http://{BRIGHT_DATA_HOST}:{BRIGHT_DATA_PORT}"
)
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--window-size=1920,1080")
driver = webdriver.Chrome(options=options)
return driver
def scrape_with_captcha_solving(url, sitekey=None):
driver = create_driver_with_proxy()
try:
driver.get(url)
time.sleep(3)
# Auto-detect sitekey if not provided
if not sitekey:
sitekey = driver.execute_script(
"return document.querySelector('[data-sitekey]')"
"?.getAttribute('data-sitekey')"
)
if sitekey:
token = solve_recaptcha(url, sitekey)
driver.execute_script(f"""
document.querySelector('#g-recaptcha-response').value = '{token}';
document.querySelectorAll('[name="g-recaptcha-response"]')
.forEach(el => {{ el.value = '{token}'; }});
""")
# Trigger callback
driver.execute_script("""
if (typeof ___grecaptcha_cfg !== 'undefined') {
const clients = ___grecaptcha_cfg.clients;
for (const key in clients) {
for (const prop in clients[key]) {
const val = clients[key][prop];
if (val && typeof val === 'object') {
for (const p in val) {
if (typeof val[p]?.callback === 'function') {
val[p].callback(arguments[0]);
}
}
}
}
}
}
""")
return driver.page_source
finally:
driver.quit()
Segmentação específica por país
Bright Data oferece suporte à segmentação por país, estado e cidade:
# Country targeting
proxy_us = "http://brd-customer-ID-zone-residential-country-us:PASS@brd.superproxy.io:22225"
proxy_uk = "http://brd-customer-ID-zone-residential-country-gb:PASS@brd.superproxy.io:22225"
proxy_de = "http://brd-customer-ID-zone-residential-country-de:PASS@brd.superproxy.io:22225"
# City targeting
proxy_nyc = "http://brd-customer-ID-zone-residential-country-us-city-newyork:PASS@brd.superproxy.io:22225"
# Use the geo-matched proxy for lower CAPTCHA rates
def scrape_localized(url, country="us"):
proxy = f"http://brd-customer-ID-zone-residential-country-{country}:PASS@brd.superproxy.io:22225"
resp = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=30)
return resp
Gerenciamento de sessão
# Sticky session (same IP for entire session)
proxy_sticky = (
"http://brd-customer-ID-zone-residential"
"-session-abc123:PASS@brd.superproxy.io:22225"
)
# Rotating (new IP each request)
proxy_rotating = (
"http://brd-customer-ID-zone-residential:PASS@brd.superproxy.io:22225"
)
Para fluxos de trabalho CAPTCHA: Use sessões fixas. O token CAPTCHA está vinculado ao IP que carregou a página – usar um IP diferente para envio falhará.
Integração Node.js.
const axios = require("axios");
const https = require("https");
const CAPTCHAAI_KEY = "YOUR_API_KEY";
const CAPTCHAAI_URL = "https://ocr.captchaai.com";
const proxyAgent = new (require("https-proxy-agent"))(
"http://brd-customer-ID-zone-residential:PASS@brd.superproxy.io:22225"
);
async function fetchWithProxy(url) {
return axios.get(url, {
httpsAgent: proxyAgent,
headers: {
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/126.0.0.0",
},
});
}
async function solveCaptcha(siteUrl, sitekey) {
const submit = await axios.post(`${CAPTCHAAI_URL}/in.php`, null, {
params: {
key: CAPTCHAAI_KEY,
method: "userrecaptcha",
googlekey: sitekey,
pageurl: siteUrl,
json: 1,
},
});
const taskId = submit.data.request;
for (let i = 0; i < 60; i++) {
await new Promise((r) => setTimeout(r, 5000));
const result = await axios.get(`${CAPTCHAAI_URL}/res.php`, {
params: {
key: CAPTCHAAI_KEY,
action: "get",
id: taskId,
json: 1,
},
});
if (result.data.request === "CAPCHA_NOT_READY") continue;
if (result.data.status === 1) return result.data.request;
}
throw new Error("Timeout");
}
Configuração de zona de dados brilhante
| Configuração de zona | Recomendado para CAPTCHA | Por que |
|---|---|---|
| Tipo de proxy | Residencial | Menor taxa de disparo de CAPTCHA |
| Segmentação por país | Corresponder ao local do site de destino | IP → consistência de conteúdo |
| Tipo de sessão | Pegajoso | O token deve corresponder ao IP de origem |
| Filtro de qualidade IP | Alta qualidade | Evite IPs sinalizados |
| Máximo simultâneo | Mais de 100 | Fluxos de trabalho CAPTCHA paralelos |
Solução de problemas
| Problema | Causa | Correção |
|---|---|---|
| 407 do proxy | Credenciais erradas | Verifique o ID do cliente, zona e senha |
| CAPTCHA aparece a cada solicitação | Proxy do datacenter detectado | Mudar para zona residencial |
| Token rejeitado | IP alterado entre resolver e enviar | Use sessões fixas |
| Resposta lenta | Nó de saída congestionado | Segmentar país menos popular/city |
| Conexão recusada | Limite de largura de banda atingido | Verifique o painel Bright Data |
Perguntas frequentes
CaptchaAI usa meu proxy Bright Data?
Não. CaptchaAI resolve CAPTCHAs utilizando infraestrutura própria. Seu proxy é usado apenas para navegação. Você passa o URL da página e a chave do site para a API do CaptchaAI.
Qual zona Bright Data funciona mais adequado para sites com muito CAPTCHA?
Zonas residenciais ou ISP. Os IPs do datacenter têm maior probabilidade de acionar CAPTCHAs. Os proxies do ISP combinam a velocidade do datacenter com a confiança residencial.
Devo usar sessões fixas ou rotativas?
Fixo para fluxos de trabalho CAPTCHA. O token CAPTCHA é vinculado ao IP – se o seu IP alternar entre o carregamento da página e o envio do formulário, o token será rejeitado.
Posso passar meu proxy para CaptchaAI?
Sim — a API do CaptchaAI aceita um parâmetro proxy. Isso faz com que CaptchaAI resolva o CAPTCHA do mesmo IP. Útil para desafios vinculados a IP.
Guias Relacionados
- Proxies residenciais rotativos para resolução de CAPTCHA
- A qualidade do proxy afeta a taxa de resolução de CAPTCHA
- Proxies ISP vs Datacenter para CAPTCHA
Combine a rede proxy da Bright Data com solução automatizada de CAPTCHA -obtenha sua chave CaptchaAIe dimensione sua automação.