Como usar proxies com o Scrapy: guia completo
Aprenda a configurar proxies residenciais e de datacenter da GProxy com o Scrapy para web scraping em larga escala. Cobre configuração de middleware, rotação de proxy e tratamento de erros.
Pré-requisitos
- ✓[
- ✓"
- ✓P
- ✓y
- ✓t
- ✓h
- ✓o
- ✓n
- ✓
- ✓3
- ✓.
- ✓8
- ✓+
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓a
- ✓d
- ✓o
- ✓"
- ✓,
- ✓
- ✓"
- ✓S
- ✓c
- ✓r
- ✓a
- ✓p
- ✓y
- ✓
- ✓2
- ✓.
- ✓x
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓a
- ✓d
- ✓o
- ✓
- ✓(
- ✓p
- ✓i
- ✓p
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓
- ✓s
- ✓c
- ✓r
- ✓a
- ✓p
- ✓y
- ✓)
- ✓"
- ✓,
- ✓
- ✓"
- ✓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
- ✓"
- ✓,
- ✓
- ✓"
- ✓F
- ✓a
- ✓m
- ✓i
- ✓l
- ✓i
- ✓a
- ✓r
- ✓i
- ✓d
- ✓a
- ✓d
- ✓e
- ✓
- ✓b
- ✓á
- ✓s
- ✓i
- ✓c
- ✓a
- ✓
- ✓c
- ✓o
- ✓m
- ✓
- ✓s
- ✓p
- ✓i
- ✓d
- ✓e
- ✓r
- ✓s
- ✓
- ✓e
- ✓
- ✓s
- ✓e
- ✓t
- ✓t
- ✓i
- ✓n
- ✓g
- ✓s
- ✓
- ✓d
- ✓o
- ✓
- ✓S
- ✓c
- ✓r
- ✓a
- ✓p
- ✓y
- ✓"
- ✓]
Configuração passo a passo
[
{
"
T
I
T
L
E
"
:
"
I
N
S
T
A
L
E
O
S
C
R
A
P
Y
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
I
N
S
T
A
L
E
O
S
C
R
A
P
Y
E
C
R
I
E
U
M
N
O
V
O
P
R
O
J
E
T
O
"
,
"
C
O
D
E
"
:
"
P
I
P
I
N
S
T
A
L
L
S
C
R
A
P
Y
\
N
S
C
R
A
P
Y
S
T
A
R
T
P
R
O
J
E
C
T
M
Y
P
R
O
J
E
C
T
\
N
C
D
M
Y
P
R
O
J
E
C
T
"
}
,
{
"
T
I
T
L
E
"
:
"
C
O
N
F
I
G
U
R
E
O
P
R
O
X
Y
E
M
S
E
T
T
I
N
G
S
.
P
Y
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
A
D
I
C
I
O
N
E
A
S
C
O
N
F
I
G
U
R
A
Ç
Õ
E
S
D
E
P
R
O
X
Y
A
O
S
E
T
T
I
N
G
S
.
P
Y
D
O
S
E
U
P
R
O
J
E
T
O
"
,
"
C
O
D
E
"
:
"
#
S
E
T
T
I
N
G
S
.
P
Y
\
N
H
T
T
P
P
R
O
X
Y
_
E
N
A
B
L
E
D
=
T
R
U
E
\
N
D
O
W
N
L
O
A
D
E
R
_
M
I
D
D
L
E
W
A
R
E
S
=
{
\
N
'
M
Y
P
R
O
J
E
C
T
.
M
I
D
D
L
E
W
A
R
E
S
.
G
P
R
O
X
Y
M
I
D
D
L
E
W
A
R
E
'
:
3
5
0
,
\
N
'
S
C
R
A
P
Y
.
D
O
W
N
L
O
A
D
E
R
M
I
D
D
L
E
W
A
R
E
S
.
H
T
T
P
P
R
O
X
Y
.
H
T
T
P
P
R
O
X
Y
M
I
D
D
L
E
W
A
R
E
'
:
4
0
0
,
\
N
}
"
}
,
{
"
T
I
T
L
E
"
:
"
C
R
I
E
O
M
I
D
D
L
E
W
A
R
E
D
E
P
R
O
X
Y
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
C
R
I
E
U
M
M
I
D
D
L
E
W
A
R
E
P
E
R
S
O
N
A
L
I
Z
A
D
O
E
M
M
I
D
D
L
E
W
A
R
E
S
.
P
Y
"
,
"
C
O
D
E
"
:
"
C
L
A
S
S
G
P
R
O
X
Y
M
I
D
D
L
E
W
A
R
E
:
\
N
D
E
F
P
R
O
C
E
S
S
_
R
E
Q
U
E
S
T
(
S
E
L
F
,
R
E
Q
U
E
S
T
,
S
P
I
D
E
R
)
:
\
N
P
R
O
X
Y
=
'
H
T
T
P
:
/
/
U
S
E
R
:
P
A
S
S
@
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
'
\
N
R
E
Q
U
E
S
T
.
M
E
T
A
[
'
P
R
O
X
Y
'
]
=
P
R
O
X
Y
"
}
,
{
"
T
I
T
L
E
"
:
"
A
D
I
C
I
O
N
E
S
U
P
O
R
T
E
À
R
O
T
A
Ç
Ã
O
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
P
A
R
A
R
O
T
A
Ç
Ã
O
A
U
T
O
M
Á
T
I
C
A
D
E
I
P
,
U
S
E
O
E
N
D
P
O
I
N
T
B
A
C
K
C
O
N
N
E
C
T
"
,
"
C
O
D
E
"
:
"
C
L
A
S
S
G
P
R
O
X
Y
R
O
T
A
T
I
N
G
M
I
D
D
L
E
W
A
R
E
:
\
N
D
E
F
P
R
O
C
E
S
S
_
R
E
Q
U
E
S
T
(
S
E
L
F
,
R
E
Q
U
E
S
T
,
S
P
I
D
E
R
)
:
\
N
R
E
Q
U
E
S
T
.
M
E
T
A
[
'
P
R
O
X
Y
'
]
=
'
H
T
T
P
:
/
/
U
S
E
R
-
C
O
U
N
T
R
Y
-
U
S
:
P
A
S
S
@
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
'
\
N
\
N
D
E
F
P
R
O
C
E
S
S
_
E
X
C
E
P
T
I
O
N
(
S
E
L
F
,
R
E
Q
U
E
S
T
,
E
X
C
E
P
T
I
O
N
,
S
P
I
D
E
R
)
:
\
N
R
E
T
U
R
N
R
E
Q
U
E
S
T
#
T
E
N
T
A
D
E
N
O
V
O
C
O
M
U
M
N
O
V
O
I
P
"
}
,
{
"
T
I
T
L
E
"
:
"
C
O
N
F
I
G
U
R
E
A
S
R
E
T
E
N
T
A
T
I
V
A
S
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
A
D
I
C
I
O
N
E
A
C
O
N
F
I
G
U
R
A
Ç
Ã
O
D
E
R
E
T
R
Y
P
A
R
A
M
A
I
S
C
O
N
F
I
A
B
I
L
I
D
A
D
E
"
,
"
C
O
D
E
"
:
"
#
S
E
T
T
I
N
G
S
.
P
Y
\
N
R
E
T
R
Y
_
E
N
A
B
L
E
D
=
T
R
U
E
\
N
R
E
T
R
Y
_
T
I
M
E
S
=
5
\
N
R
E
T
R
Y
_
H
T
T
P
_
C
O
D
E
S
=
[
4
0
3
,
4
0
7
,
4
2
9
,
5
0
0
,
5
0
2
,
5
0
3
]
\
N
D
O
W
N
L
O
A
D
_
T
I
M
E
O
U
T
=
3
0
"
}
,
{
"
T
I
T
L
E
"
:
"
E
X
E
C
U
T
E
O
S
E
U
S
P
I
D
E
R
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
T
E
S
T
E
A
C
O
N
F
I
G
U
R
A
Ç
Ã
O
D
E
P
R
O
X
Y
"
,
"
C
O
D
E
"
:
"
S
C
R
A
P
Y
C
R
A
W
L
M
Y
S
P
I
D
E
R
-
O
O
U
T
P
U
T
.
J
S
O
N
"
}
]
Exemplos de código
Por que usar proxies com o Scrapy?
O Scrapy é o framework de web scraping em Python mais popular, movendo milhões de jobs de crawling por dia. Ao coletar dados em escala, você inevitavelmente vai enfrentar bloqueios de IP, CAPTCHAs e limites de taxa. O pool de proxies residenciais da GProxy, com 10M+ IPs em 150+ países, resolve esses problemas rotacionando o seu IP de saída automaticamente.
Métodos de autenticação de proxy
A GProxy suporta dois métodos de autenticação com o Scrapy: autenticação por usuário/senha através da URL do proxy, e autenticação por whitelist de IP, na qual você adiciona o IP do seu servidor no painel da GProxy. Ambos funcionam sem atrito com o suporte a proxy nativo do Scrapy.
Configuração básica de proxy
A forma mais simples de usar proxies GProxy no Scrapy é pelo arquivo settings.py. Defina as variáveis de ambiente HTTP_PROXY e HTTPS_PROXY, ou configure-as diretamente nos custom settings do seu spider. Para proxies rotativos, use um downloader middleware personalizado que atribua uma nova URL de proxy por requisição.
Middleware personalizado de rotação de proxy
Para scraping em produção, um middleware personalizado dá controle total sobre a atribuição de proxies. O middleware intercepta cada requisição antes do envio, atribui um endpoint de proxy com parâmetros de rotação e trata erros relacionados ao proxy, como timeouts ou falhas de autenticação 407. O endpoint backconnect da GProxy faz a rotação no lado do servidor, então cada conexão pelo mesmo endpoint recebe um IP diferente.
Tratamento de erros e retentativas
Scraping robusto exige tratamento de erros adequado. Configure o retry middleware do Scrapy para funcionar junto com o seu setup de proxy: refaça a requisição nos códigos 403, 407, 429 e 503, e defina um número razoável de tentativas (3 a 5). As sessões sticky da GProxy permitem manter o mesmo IP entre as retentativas quando necessário — útil para fluxos de várias páginas.
Requisições concorrentes e desempenho
O Scrapy é excelente em scraping concorrente, e a infraestrutura da GProxy lida bem com alta concorrência. Comece com CONCURRENT_REQUESTS = 32 e DOWNLOAD_DELAY = 0.5 e depois ajuste conforme o comportamento do site alvo. Com proxies residenciais da GProxy, normalmente é possível rodar de 50 a 100 requisições concorrentes sem problemas.
Geo-targeting com o Scrapy
A GProxy suporta segmentação por país e por cidade. Passe o país alvo como parte das credenciais do proxy (por exemplo, user-country-us) para rotear as requisições por IPs daquela localidade. Isso é essencial para coletar conteúdo com restrição geográfica ou resultados de busca localizados.
Casos de uso
[
{
"
T
I
T
L
E
"
:
"
M
O
N
I
T
O
R
A
M
E
N
T
O
D
E
P
R
E
Ç
O
S
E
M
E
-
C
O
M
M
E
R
C
E
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
C
O
L
E
T
E
P
R
E
Ç
O
S
D
E
P
R
O
D
U
T
O
S
E
M
V
Á
R
I
O
S
V
A
R
E
J
I
S
T
A
S
C
O
M
P
R
O
X
I
E
S
G
E
O
-
S
E
G
M
E
N
T
A
D
O
S
P
A
R
A
V
E
R
O
S
P
R
E
Ç
O
S
L
O
C
A
L
I
Z
A
D
O
S
.
"
}
,
{
"
T
I
T
L
E
"
:
"
A
C
O
M
P
A
N
H
A
M
E
N
T
O
D
E
S
E
R
P
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
M
O
N
I
T
O
R
E
P
O
S
I
Ç
Õ
E
S
E
M
B
U
S
C
A
D
O
R
E
S
A
P
A
R
T
I
R
D
E
D
I
F
E
R
E
N
T
E
S
L
O
C
A
L
I
D
A
D
E
S
U
S
A
N
D
O
I
P
S
R
E
S
I
D
E
N
C
I
A
I
S
P
O
R
P
A
Í
S
.
"
}
,
{
"
T
I
T
L
E
"
:
"
G
E
R
A
Ç
Ã
O
D
E
L
E
A
D
S
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
E
X
T
R
A
I
A
L
I
S
T
A
G
E
N
S
D
E
E
M
P
R
E
S
A
S
E
D
A
D
O
S
D
E
C
O
N
T
A
T
O
E
M
E
S
C
A
L
A
C
O
M
I
P
S
R
O
T
A
T
I
V
O
S
P
A
R
A
E
V
I
T
A
R
D
E
T
E
C
Ç
Ã
O
.
"
}
,
{
"
T
I
T
L
E
"
:
"
A
G
R
E
G
A
Ç
Ã
O
D
E
C
O
N
T
E
Ú
D
O
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
R
E
Ú
N
A
A
R
T
I
G
O
S
,
A
V
A
L
I
A
Ç
Õ
E
S
E
A
N
Ú
N
C
I
O
S
D
E
V
Á
R
I
A
S
F
O
N
T
E
S
C
O
M
R
O
T
A
Ç
Ã
O
D
E
P
R
O
X
Y
C
O
N
F
I
Á
V
E
L
.
"
}
]
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.
