Coleta e teste de página usam o mesmo produto de rede; o que muda é a API da ferramenta. Este guia cobre as três que listamos como compatíveis e ainda não tinham passo a passo. Para contas logadas, volte aos guias de AdsPower ou n8n.
Credenciais: host, porta HTTP, usuário e senha no painel. Valide antes com teste / cURL.
Playwright
A API oficial aceita proxy na hora de lançar o browser — incluindo usuário e senha, sem gambiarra na URL.
import { chromium } from 'playwright'
const browser = await chromium.launch({
proxy: {
server: 'http://p1.exemplo.com:8000',
username: 'seu-usuario',
password: 'sua-senha',
},
})
const page = await browser.newPage()
await page.goto('https://api.ipify.org?format=json')
console.log(await page.textContent('body'))
await browser.close()
SOCKS5: server: 'socks5://p1.exemplo.com:1080' com os mesmos username / password. Contexto isolado (browser.newContext({ proxy: … })) se cada aba precisa de um IP diferente.
Puppeteer
O Chrome do Puppeteer não deve receber http://user:pass@host. Separe servidor e autenticação:
import puppeteer from 'puppeteer'
const browser = await puppeteer.launch({
args: ['--proxy-server=http://p1.exemplo.com:8000'],
})
const page = await browser.newPage()
await page.authenticate({
username: 'seu-usuario',
password: 'sua-senha',
})
await page.goto('https://api.ipify.org?format=json')
console.log(await page.content())
await browser.close()
Se authenticate não pegar em algum fluxo (PDF, worker), use proxy-chain como no guia WPPConnect: o browser fala com um proxy local sem senha.
Scrapy
Scrapy não lança Chrome por padrão. A URL com usuário e senha no request.meta é o caminho documentado:
# settings.py — opcional, default para todos os requests
# DOWNLOADER_MIDDLEWARES já inclui HttpProxyMiddleware
# no spider
def start_requests(self):
yield scrapy.Request(
"https://api.ipify.org?format=json",
meta={
"proxy": "http://seu-usuario:[email protected]:8000",
},
)
Rotação: um middleware seu escolhe a URL de proxy por request. Não aponte o crawler para o mesmo ISP da BM. Residencial por GB ou IPv6 quando o alvo fala IPv6.
Respeite robots, termos e a política de uso aceitável.
Depois de configurar
- n8n se a coleta passa por workflow
- Consumo de GB se o plano é residencial
- Erros comuns