Como usar o AdsPower com Scrapy: configuração, fluxo de trabalho e exemplos

Uma olhada rápida

Combine perfis antidetecção do AdsPower com spiders Scrapy para fazer scraping em escala sem bloqueios. Configuração passo a passo, código da API Local e exemplos práticos.

Como usar o AdsPower com Scrapy: configuração, fluxo de trabalho e exemplos

O Scrapy é rápido, mas também é previsível. Um spider padrão envia os mesmos cabeçalhos, a mesma assinatura TLS e o mesmo padrão de IP em cada requisição, que é exatamente o que os sistemas anti-bot procuram. O AdsPower resolve a outra metade desse problema: ele dá a cada identidade de scraping seu próprio ambiente de navegador isolado, com uma impressão digital única e seu próprio proxy.

Este guia explica como as duas ferramentas se encaixam, como conectar perfis do AdsPower a um projeto Scrapy e quando a combinação vale as peças móveis extras.

Por que combinar AdsPower com Scrapy?

O Scrapy cuida da lógica de rastreamento, concorrência, tentativas e pipelines de dados. O AdsPower cuida da identidade. Usados juntos, eles cobrem toda a pilha de uma operação de scraping resiliente:

  • Isolamento de impressão digital. O AdsPower gera perfis separados de Canvas, WebGL, User Agent, fuso horário e idioma, para que requisições de perfis diferentes não pareçam vir de uma única máquina.
  • Proxy por perfil. Cada perfil do AdsPower pode carregar seu próprio proxy residencial, móvel ou ISP, o que mantém a reputação do IP vinculada a uma única identidade em vez de um pool compartilhado.
  • Persistência de sessão. Cookies e logins permanecem dentro do perfil, então um job do Scrapy que precisa de uma sessão autenticada pode reutilizá-la entre execuções.
  • Renderização de JavaScript. O AdsPower executa um navegador real baseado em Chromium (SunBrowser), o que cobre páginas que o Scrapy sozinho não consegue analisar.

O Scrapy sozinho é excelente em escala, mas fraco em camuflagem. O AdsPower é forte em camuflagem, mas não é um rastreador. A combinação é o que torna ambos úteis para alvos protegidos.

Duas maneiras de combiná-los

Não há plugin oficial do AdsPower para Scrapy, então a integração acontece na camada de rede. Você tem duas opções práticas.

Opção A: apontar o Scrapy para um proxy do AdsPower

Este é o caminho mais simples. Você cria um perfil no AdsPower, anexa um proxy a ele e então usa esse mesmo endpoint de proxy dentro do settings.py do Scrapy. O Scrapy faz o rastreamento; o AdsPower é usado principalmente para gerenciar e verificar a combinação de proxy e impressão digital antes de comprometê-la com um spider.

Melhor para: rastreamentos grandes em que você precisa de throughput bruto e o alvo não exige um navegador completo.

Opção B: controlar o AdsPower pela API Local

O AdsPower expõe uma API Local que permite iniciar e parar perfis de navegador programaticamente. Você pode iniciar um perfil, ler sua porta de depuração e conectar uma ferramenta de automação de navegador a ele. Esta é a abordagem a usar quando uma página precisa de execução de JavaScript ou de uma sessão logada.

Melhor para: conteúdo restrito, aplicações de página única e qualquer coisa atrás de um login.

Configuração passo a passo

Como usar o AdsPower com Scrapy: configuração, fluxo de trabalho e exemplos - Configuração passo a passo

Como usar o AdsPower com Scrapy: configuração, fluxo de trabalho e exemplos - Configuração passo a passo.

1. Instale o AdsPower e crie um perfil

Baixe o AdsPower para o seu sistema operacional, registre uma conta e crie um novo perfil de navegador. Escolha o sistema operacional e a versão do navegador que você quer que o site alvo veja.

2. Anexe um proxy ao perfil

Nas configurações do perfil, adicione os detalhes do seu proxy. Uma configuração HTTP típica fica assim:

Proxy type: HTTP
Host: your-proxy-host
Port: your-proxy-port
Username: your-username
Password: your-password

Clique em Check Proxy e confirme que você recebe uma mensagem de teste de conexão aprovado. Se você ainda está escolhendo um provedor, o fluxo de trabalho em Como usar o AdsPower com IPRoyal cobre opções residenciais, móveis e ISP e como as flags de direcionamento se comportam.

3. Verifique a impressão digital

Abra o perfil e verifique a varredura integrada do navegador. Confirme que a localização do IP, o fuso horário e o idioma correspondem à identidade que você pretendia. Um proxy dos EUA combinado com um fuso horário europeu é um sinal de alerta comum e evitável.

4. Copie o proxy para o Scrapy

Se você estiver usando a Opção A, adicione o mesmo proxy ao seu projeto Scrapy. Em settings.py:

HTTP_PROXY = "http://your-username:your-password@your-proxy-host:your-proxy-port"

DOWNLOADER_MIDDLEWARES = {
    "scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware": 100,
}

Para controle por requisição, defina meta={"proxy": HTTP_PROXY} em objetos Request individuais.

5. Adicione um conjunto realista de cabeçalhos

O User Agent padrão do Scrapy é uma entrega. Defina um que corresponda ao perfil do AdsPower que você verificou:

USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
DEFAULT_REQUEST_HEADERS = {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.9",
}

6. Teste com um rastreamento pequeno

Execute seu spider contra uma página de baixo risco primeiro e verifique a resposta. Se você vir uma página de bloqueio ou um CAPTCHA, o problema geralmente é a reputação do proxy ou uma incompatibilidade de impressão digital, não o código do spider.

Controlar o AdsPower a partir de um pipeline do Scrapy

Para alvos com muito JavaScript, use a API Local para iniciar um perfil e então conectar o scrapy-playwright a esse navegador.

import requests

BASE = "http://local.adspower.net:50325"

# Start a specific profile
resp = requests.get(f"{BASE}/api/v1/browser/start", params={"user_id": "PROFILE_ID"})
data = resp.json()["data"]
ws_endpoint = data["ws"]["puppeteer"]
print(ws_endpoint)

O endpoint retornado pode ser passado para uma camada de automação de navegador. Na prática, as equipes executam um pequeno helper que inicia o perfil, entrega o endpoint ao rastreador e para o perfil quando o job termina. Isso mantém o uso do perfil limpo e evita processos de navegador órfãos.

Se você preferir terceirizar completamente a renderização e a rotação de proxies, uma abordagem baseada em API como Como usar o AdsPower com Scrapingpass é uma alternativa mais leve a manter sua própria ponte de navegador.

Exemplo prático: rotacionar identidades em um rastreamento

Um padrão comum é distribuir um rastreamento entre vários perfis do AdsPower para que nenhuma identidade única faça requisições demais.

  1. Crie cinco perfis no AdsPower, cada um com um proxy diferente e um fuso horário e idioma correspondentes.
  2. Verifique cada perfil com a varredura do navegador.
  3. Armazene as cinco strings de proxy em uma lista no seu projeto Scrapy.
  4. Atribua um proxy por requisição usando um índice rotativo no método start_requests do seu spider.
  5. Defina AUTOTHROTTLE_ENABLED = True e um DOWNLOAD_DELAY conservador para que o timing das requisições pareça humano.
PROXIES = ["http://user:pass@host1:port", "http://user:pass@host2:port"]

def start_requests(self):
    for i, url in enumerate(self.start_urls):
        yield scrapy.Request(url, meta={"proxy": PROXIES[i % len(PROXIES)]})

Isso lhe dá a separação de identidade do AdsPower com o controle de agendamento do Scrapy.

Problemas comuns e correções

Sintoma Causa provável Correção
403 instantâneo em todas as requisições IP do proxy está sinalizado ou é de datacenter Mude para proxies residenciais ou móveis no AdsPower
CAPTCHA na primeira página Incompatibilidade entre impressão digital e região do proxy Alinhe fuso horário, idioma e país do IP
Login cai entre execuções Sessão não persistida Mantenha a sessão dentro do perfil do AdsPower em vez de nos cookies do Scrapy
HTML vazio de uma página JS Sem renderização de navegador Use a API Local com uma camada de renderização
O perfil não inicia Outro processo o está usando Pare o perfil antes de iniciar um novo job

Quando a combinação vale a pena

Use AdsPower com Scrapy quando você precisa tanto de escala quanto de separação de identidade: pesquisa multicontas, monitoramento de preços entre regiões ou rastreamento de sites com detecção agressiva de bots. Se seu alvo é uma página estática sem proteções, o Scrapy puro é mais rápido de configurar e mais barato de executar.

Se você ainda está decidindo sobre o lado do navegador, a comparação em AdsPower vs Octo Browser vs Maskfog detalha isolamento de impressão digital, suporte a automação e preços. E se os custos de proxy forem o fator decisivo, Preços do ScraperAPI 2026 explica como multiplicadores de crédito podem mudar seu gasto mensal real.

Leitura relacionada

Perguntas frequentes

O AdsPower tem uma integração oficial com Scrapy?

Não. A integração acontece por meio de proxies e da API Local. O Scrapy se conecta a um proxy gerenciado pelo AdsPower, ou uma camada de automação de navegador se conecta a um perfil iniciado pela API Local.

O Scrapy pode usar um perfil do AdsPower sem proxy?

Tecnicamente sim, mas isso anula o propósito. O isolamento de impressão digital só importa quando a identidade de rede corresponde a ele.

Essa combinação é legal?

O scraping de dados públicos é geralmente permitido, mas as regras variam por jurisdição e pelos termos do site. Sempre verifique os termos de serviço do alvo e a lei aplicável antes de rastrear.

Quantos perfis eu preciso?

Comece com um número pequeno e observe sua taxa de bloqueio. Se os bloqueios aumentarem conforme o volume de requisições cresce, adicione perfis em vez de aumentar a velocidade nos existentes.

Posso executar AdsPower e Scrapy na mesma máquina?

Sim. O AdsPower roda localmente, e a API Local está disponível em localhost, então um projeto Scrapy na mesma máquina pode alcançá-la sem rede extra.

Conclusão

AdsPower e Scrapy resolvem metades diferentes do mesmo problema. O Scrapy lhe dá um mecanismo de rastreamento estruturado e escalável. O AdsPower dá a cada rastreamento uma identidade isolada e crível, com sua própria impressão digital e proxy. Conecte o proxy ao settings.py para jobs simples, ou use a API Local com uma camada de renderização para alvos com muito JavaScript, e verifique cada perfil antes de escalar. Comece com um rastreamento pequeno, meça sua taxa de bloqueio e expanda apenas quando a configuração atual se mantiver.

Para mais sobre padrões de configuração de proxy, veja o guia de integração do AdsPower com ScrapeOps e a referência de integração do ProxyOmega para saber como os sufixos de direcionamento funcionam entre ferramentas. O próprio guia de scraping de ecommerce do AdsPower cobre o lado sem código do mesmo fluxo de trabalho.

Compartilhar