Como usar proxies com Puppeteer: guia completo
Configure proxies GProxy com Puppeteer para automação do Chrome headless. Cobre autenticação de proxy, troca de proxy por página e técnicas de stealth.
Pré-requisitos
- ✓[
- ✓"
- ✓N
- ✓o
- ✓d
- ✓e
- ✓.
- ✓j
- ✓s
- ✓
- ✓1
- ✓6
- ✓+
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓a
- ✓d
- ✓o
- ✓"
- ✓,
- ✓
- ✓"
- ✓P
- ✓u
- ✓p
- ✓p
- ✓e
- ✓t
- ✓e
- ✓e
- ✓r
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓a
- ✓d
- ✓o
- ✓
- ✓(
- ✓n
- ✓p
- ✓m
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓
- ✓p
- ✓u
- ✓p
- ✓p
- ✓e
- ✓t
- ✓e
- ✓e
- ✓r
- ✓)
- ✓"
- ✓,
- ✓
- ✓"
- ✓C
- ✓o
- ✓n
- ✓t
- ✓a
- ✓
- ✓G
- ✓P
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓c
- ✓o
- ✓m
- ✓
- ✓p
- ✓l
- ✓a
- ✓n
- ✓o
- ✓
- ✓d
- ✓e
- ✓
- ✓p
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓a
- ✓t
- ✓i
- ✓v
- ✓o
- ✓"
- ✓,
- ✓
- ✓"
- ✓C
- ✓o
- ✓n
- ✓h
- ✓e
- ✓c
- ✓i
- ✓m
- ✓e
- ✓n
- ✓t
- ✓o
- ✓
- ✓b
- ✓á
- ✓s
- ✓i
- ✓c
- ✓o
- ✓
- ✓d
- ✓e
- ✓
- ✓J
- ✓a
- ✓v
- ✓a
- ✓S
- ✓c
- ✓r
- ✓i
- ✓p
- ✓t
- ✓/
- ✓a
- ✓s
- ✓y
- ✓n
- ✓c
- ✓-
- ✓a
- ✓w
- ✓a
- ✓i
- ✓t
- ✓"
- ✓]
Configuração passo a passo
[
{
"
T
I
T
L
E
"
:
"
I
N
S
T
A
L
A
R
O
P
U
P
P
E
T
E
E
R
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
I
N
S
T
A
L
E
O
P
U
P
P
E
T
E
E
R
C
O
M
N
P
M
"
,
"
C
O
D
E
"
:
"
N
P
M
I
N
S
T
A
L
L
P
U
P
P
E
T
E
E
R
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
-
P
L
U
G
I
N
-
S
T
E
A
L
T
H
"
}
,
{
"
T
I
T
L
E
"
:
"
I
N
I
C
I
A
R
O
N
A
V
E
G
A
D
O
R
C
O
M
P
R
O
X
Y
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
C
O
N
F
I
G
U
R
E
O
C
H
R
O
M
E
C
O
M
O
P
R
O
X
Y
D
A
G
P
R
O
X
Y
"
,
"
C
O
D
E
"
:
"
C
O
N
S
T
P
U
P
P
E
T
E
E
R
=
R
E
Q
U
I
R
E
(
'
P
U
P
P
E
T
E
E
R
'
)
;
\
N
\
N
C
O
N
S
T
B
R
O
W
S
E
R
=
A
W
A
I
T
P
U
P
P
E
T
E
E
R
.
L
A
U
N
C
H
(
{
\
N
A
R
G
S
:
[
'
-
-
P
R
O
X
Y
-
S
E
R
V
E
R
=
H
T
T
P
:
/
/
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
'
]
\
N
}
)
;
\
N
C
O
N
S
T
P
A
G
E
=
A
W
A
I
T
B
R
O
W
S
E
R
.
N
E
W
P
A
G
E
(
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
A
U
T
E
N
T
I
C
A
R
N
O
P
R
O
X
Y
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
D
E
F
I
N
A
A
S
C
R
E
D
E
N
C
I
A
I
S
D
O
P
R
O
X
Y
U
S
A
N
D
O
P
A
G
E
.
A
U
T
H
E
N
T
I
C
A
T
E
(
)
"
,
"
C
O
D
E
"
:
"
A
W
A
I
T
P
A
G
E
.
A
U
T
H
E
N
T
I
C
A
T
E
(
{
\
N
U
S
E
R
N
A
M
E
:
'
Y
O
U
R
_
U
S
E
R
N
A
M
E
'
,
\
N
P
A
S
S
W
O
R
D
:
'
Y
O
U
R
_
P
A
S
S
W
O
R
D
'
\
N
}
)
;
\
N
\
N
A
W
A
I
T
P
A
G
E
.
G
O
T
O
(
'
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
'
)
;
\
N
C
O
N
S
O
L
E
.
L
O
G
(
A
W
A
I
T
P
A
G
E
.
C
O
N
T
E
N
T
(
)
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
A
D
I
C
I
O
N
A
R
O
P
L
U
G
I
N
S
T
E
A
L
T
H
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
U
S
E
O
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
-
P
L
U
G
I
N
-
S
T
E
A
L
T
H
P
A
R
A
E
V
I
T
A
R
D
E
T
E
C
Ç
Ã
O
"
,
"
C
O
D
E
"
:
"
C
O
N
S
T
P
U
P
P
E
T
E
E
R
=
R
E
Q
U
I
R
E
(
'
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
'
)
;
\
N
C
O
N
S
T
S
T
E
A
L
T
H
P
L
U
G
I
N
=
R
E
Q
U
I
R
E
(
'
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
-
P
L
U
G
I
N
-
S
T
E
A
L
T
H
'
)
;
\
N
P
U
P
P
E
T
E
E
R
.
U
S
E
(
S
T
E
A
L
T
H
P
L
U
G
I
N
(
)
)
;
\
N
\
N
C
O
N
S
T
B
R
O
W
S
E
R
=
A
W
A
I
T
P
U
P
P
E
T
E
E
R
.
L
A
U
N
C
H
(
{
\
N
A
R
G
S
:
[
'
-
-
P
R
O
X
Y
-
S
E
R
V
E
R
=
H
T
T
P
:
/
/
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
'
]
\
N
}
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
B
L
O
Q
U
E
A
R
R
E
C
U
R
S
O
S
D
E
S
N
E
C
E
S
S
Á
R
I
O
S
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
A
C
E
L
E
R
E
O
S
C
R
A
P
I
N
G
B
L
O
Q
U
E
A
N
D
O
I
M
A
G
E
N
S
E
F
O
N
T
E
S
"
,
"
C
O
D
E
"
:
"
A
W
A
I
T
P
A
G
E
.
S
E
T
R
E
Q
U
E
S
T
I
N
T
E
R
C
E
P
T
I
O
N
(
T
R
U
E
)
;
\
N
P
A
G
E
.
O
N
(
'
R
E
Q
U
E
S
T
'
,
(
R
E
Q
)
=
>
{
\
N
I
F
(
[
'
I
M
A
G
E
'
,
'
F
O
N
T
'
,
'
S
T
Y
L
E
S
H
E
E
T
'
]
.
I
N
C
L
U
D
E
S
(
R
E
Q
.
R
E
S
O
U
R
C
E
T
Y
P
E
(
)
)
)
\
N
R
E
Q
.
A
B
O
R
T
(
)
;
\
N
E
L
S
E
\
N
R
E
Q
.
C
O
N
T
I
N
U
E
(
)
;
\
N
}
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
T
E
S
T
A
R
E
V
E
R
I
F
I
C
A
R
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
C
O
N
F
I
R
M
E
Q
U
E
O
P
R
O
X
Y
E
S
T
Á
F
U
N
C
I
O
N
A
N
D
O
C
O
R
R
E
T
A
M
E
N
T
E
"
,
"
C
O
D
E
"
:
"
A
W
A
I
T
P
A
G
E
.
G
O
T
O
(
'
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
'
)
;
\
N
C
O
N
S
T
B
O
D
Y
=
A
W
A
I
T
P
A
G
E
.
E
V
A
L
U
A
T
E
(
(
)
=
>
D
O
C
U
M
E
N
T
.
B
O
D
Y
.
I
N
N
E
R
T
E
X
T
)
;
\
N
C
O
N
S
O
L
E
.
L
O
G
(
'
C
U
R
R
E
N
T
I
P
:
'
,
J
S
O
N
.
P
A
R
S
E
(
B
O
D
Y
)
.
O
R
I
G
I
N
)
;
\
N
A
W
A
I
T
B
R
O
W
S
E
R
.
C
L
O
S
E
(
)
;
"
}
]
Exemplos de código
Por que usar proxies com Puppeteer?
Puppeteer é a biblioteca oficial do Google em Node.js para controlar o Chrome headless. Ela é amplamente usada para web scraping, testes e automação. Ao acessar sites em escala, você precisa de proxies para evitar bloqueios de IP e limites de requisições. O pool da GProxy, com 10M+ IPs residenciais em 150+ países, faz seus scripts de Puppeteer parecerem usuários reais de qualquer localidade.
Configuração básica de proxy
O Puppeteer suporta configuração de proxy pelos argumentos de inicialização do Chrome. Passe --proxy-server ao iniciar o navegador. Para os proxies HTTP da GProxy, o formato é direto. Diferente do Selenium, o Puppeteer dá controle programático sobre a autenticação de proxy pelo método page.authenticate(), eliminando a necessidade de extensões de navegador.
Autenticação de proxy por página
O método page.authenticate() do Puppeteer resolve a autenticação de proxy de forma elegante. Chame-o antes de navegar para definir as credenciais que serão enviadas automaticamente quando o proxy solicitar autenticação. Isso funciona com a autenticação por usuário/senha da GProxy sem nenhum ajuste.
Estratégias de rotação de proxy
Com o Puppeteer você tem duas estratégias de rotação: no nível do navegador (iniciar um novo navegador por proxy) e no nível de contexto (criar novos contextos anônimos). Os contextos de navegador são mais leves que instâncias completas do navegador e suportam configurações de proxy diferentes por contexto, o que os torna ideais para scraping concorrente com IPs diferentes.
Stealth e antidetecção
Sites modernos usam fingerprinting para detectar navegadores automatizados. Combine os proxies residenciais da GProxy com o puppeteer-extra e o plugin stealth para escapar da detecção. O plugin stealth corrige vetores de detecção comuns como navigator.webdriver, chrome.runtime e fingerprints de WebGL.
Otimização de desempenho
Otimize o Puppeteer com proxies assim: bloqueie recursos desnecessários (imagens, fontes, CSS) usando interceptação de requisições, defina timeouts adequados, reutilize instâncias do navegador com páginas novas e use os proxies de datacenter da GProxy para tarefas de scraping sensíveis à velocidade e não sensíveis a bloqueio.
Casos de uso
[
{
"
T
I
T
L
E
"
:
"
S
C
R
A
P
I
N
G
D
E
S
P
A
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
E
X
T
R
A
I
A
D
A
D
O
S
D
E
A
P
L
I
C
A
Ç
Õ
E
S
S
I
N
G
L
E
-
P
A
G
E
Q
U
E
E
X
I
G
E
M
E
X
E
C
U
Ç
Ã
O
D
E
J
A
V
A
S
C
R
I
P
T
P
A
R
A
R
E
N
D
E
R
I
Z
A
R
O
C
O
N
T
E
Ú
D
O
.
"
}
,
{
"
T
I
T
L
E
"
:
"
S
E
R
V
I
Ç
O
S
D
E
S
C
R
E
E
N
S
H
O
T
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
G
E
R
E
C
A
P
T
U
R
A
S
D
E
T
E
L
A
D
E
S
I
T
E
S
A
P
A
R
T
I
R
D
E
D
I
F
E
R
E
N
T
E
S
P
A
Í
S
E
S
U
S
A
N
D
O
P
R
O
X
I
E
S
C
O
M
G
E
O
L
O
C
A
L
I
Z
A
Ç
Ã
O
.
"
}
,
{
"
T
I
T
L
E
"
:
"
C
O
M
P
A
R
A
Ç
Ã
O
D
E
P
R
E
Ç
O
S
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
M
O
N
I
T
O
R
E
P
R
E
Ç
O
S
D
E
C
O
N
C
O
R
R
E
N
T
E
S
E
M
V
Á
R
I
A
S
R
E
G
I
Õ
E
S
C
O
M
I
P
S
R
E
S
I
D
E
N
C
I
A
I
S
E
S
P
E
C
Í
F
I
C
O
S
P
O
R
L
O
C
A
L
I
D
A
D
E
.
"
}
,
{
"
T
I
T
L
E
"
:
"
A
U
T
O
M
A
Ç
Ã
O
D
E
R
E
D
E
S
S
O
C
I
A
I
S
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
A
U
T
O
M
A
T
I
Z
E
F
L
U
X
O
S
D
E
R
E
D
E
S
S
O
C
I
A
I
S
C
O
M
I
P
S
Ú
N
I
C
O
S
P
O
R
C
O
N
T
A
.
"
}
]
FAQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Pronto para começar?
Comece com a GProxy em minutos — proxies residenciais a partir de $0.85/GB, IPv6 a partir de $0.03/proxy, pague conforme o uso.
