Scrapy ile proxy kullanımı: kapsamlı rehber
GProxy residential ve veri merkezi proxy'lerini büyük ölçekli web scraping için Scrapy ile nasıl yapılandıracağınızı öğrenin. Middleware kurulumu, proxy rotasyonu ve hata yönetimi anlatılır.
Ön koşullar
- ✓[
- ✓"
- ✓P
- ✓y
- ✓t
- ✓h
- ✓o
- ✓n
- ✓
- ✓3
- ✓.
- ✓8
- ✓+
- ✓
- ✓k
- ✓u
- ✓r
- ✓u
- ✓l
- ✓u
- ✓
- ✓o
- ✓l
- ✓m
- ✓a
- ✓l
- ✓ı
- ✓"
- ✓,
- ✓
- ✓"
- ✓S
- ✓c
- ✓r
- ✓a
- ✓p
- ✓y
- ✓
- ✓2
- ✓.
- ✓x
- ✓
- ✓k
- ✓u
- ✓r
- ✓u
- ✓l
- ✓u
- ✓
- ✓o
- ✓l
- ✓m
- ✓a
- ✓l
- ✓ı
- ✓
- ✓(
- ✓p
- ✓i
- ✓p
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓
- ✓s
- ✓c
- ✓r
- ✓a
- ✓p
- ✓y
- ✓)
- ✓"
- ✓,
- ✓
- ✓"
- ✓A
- ✓k
- ✓t
- ✓i
- ✓f
- ✓
- ✓p
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓p
- ✓a
- ✓k
- ✓e
- ✓t
- ✓i
- ✓
- ✓o
- ✓l
- ✓a
- ✓n
- ✓
- ✓b
- ✓i
- ✓r
- ✓
- ✓G
- ✓P
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓h
- ✓e
- ✓s
- ✓a
- ✓b
- ✓ı
- ✓"
- ✓,
- ✓
- ✓"
- ✓S
- ✓c
- ✓r
- ✓a
- ✓p
- ✓y
- ✓
- ✓s
- ✓p
- ✓i
- ✓d
- ✓e
- ✓r
- ✓'
- ✓l
- ✓a
- ✓r
- ✓ı
- ✓
- ✓v
- ✓e
- ✓
- ✓a
- ✓y
- ✓a
- ✓r
- ✓l
- ✓a
- ✓r
- ✓ı
- ✓
- ✓h
- ✓a
- ✓k
- ✓k
- ✓ı
- ✓n
- ✓d
- ✓a
- ✓
- ✓t
- ✓e
- ✓m
- ✓e
- ✓l
- ✓
- ✓b
- ✓i
- ✓l
- ✓g
- ✓i
- ✓"
- ✓]
Adım adım kurulum
[
{
"
T
I
T
L
E
"
:
"
S
C
R
A
P
Y
'
Y
I
K
U
R
U
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
S
C
R
A
P
Y
'
Y
I
K
U
R
U
N
V
E
Y
E
N
I
B
I
R
P
R
O
J
E
O
L
U
Ş
T
U
R
U
N
"
,
"
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
"
:
"
S
E
T
T
I
N
G
S
.
P
Y
I
Ç
I
N
D
E
P
R
O
X
Y
'
Y
I
Y
A
P
I
L
A
N
D
I
R
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
P
R
O
J
E
N
I
Z
I
N
S
E
T
T
I
N
G
S
.
P
Y
D
O
S
Y
A
S
I
N
A
P
R
O
X
Y
A
Y
A
R
L
A
R
I
N
I
E
K
L
E
Y
I
N
"
,
"
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
"
:
"
P
R
O
X
Y
M
I
D
D
L
E
W
A
R
E
'
I
O
L
U
Ş
T
U
R
U
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
M
I
D
D
L
E
W
A
R
E
S
.
P
Y
I
Ç
I
N
D
E
Ö
Z
E
L
B
I
R
M
I
D
D
L
E
W
A
R
E
O
L
U
Ş
T
U
R
U
N
"
,
"
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
"
:
"
R
O
T
A
S
Y
O
N
D
E
S
T
E
Ğ
I
E
K
L
E
Y
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
O
T
O
M
A
T
I
K
I
P
R
O
T
A
S
Y
O
N
U
I
Ç
I
N
B
A
C
K
C
O
N
N
E
C
T
E
N
D
P
O
I
N
T
'
I
N
I
K
U
L
L
A
N
I
N
"
,
"
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
#
Y
E
N
I
I
P
I
L
E
Y
E
N
I
D
E
N
D
E
N
E
"
}
,
{
"
T
I
T
L
E
"
:
"
R
E
T
R
Y
A
Y
A
R
L
A
R
I
N
I
Y
A
P
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
G
Ü
V
E
N
I
L
I
R
L
I
K
I
Ç
I
N
R
E
T
R
Y
Y
A
P
I
L
A
N
D
I
R
M
A
S
I
N
I
E
K
L
E
Y
I
N
"
,
"
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
"
:
"
S
P
I
D
E
R
'
I
N
I
Z
I
Ç
A
L
I
Ş
T
I
R
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
P
R
O
X
Y
Y
A
P
I
L
A
N
D
I
R
M
A
S
I
N
I
T
E
S
T
E
D
I
N
"
,
"
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
"
}
]
Kod örnekleri
Scrapy ile neden proxy kullanmalısınız?
Scrapy, günde milyonlarca tarama işini çalıştıran en popüler Python web scraping framework'üdür. Ölçekli veri toplarken kaçınılmaz olarak IP engelleriyle, CAPTCHA'larla ve hız limitleriyle karşılaşırsınız. GProxy'nin 150+ ülkede 10M+ IP içeren residential proxy havuzu, çıkış IP'nizi otomatik olarak rotasyona sokarak bu sorunları çözer.
Proxy kimlik doğrulama yöntemleri
GProxy, Scrapy ile iki kimlik doğrulama yöntemini destekler: proxy URL'i üzerinden kullanıcı adı/parola doğrulaması ve sunucunuzun IP'sini GProxy panelinden eklediğiniz IP whitelist doğrulaması. Her ikisi de Scrapy'nin yerleşik proxy desteğiyle sorunsuz çalışır.
Temel proxy yapılandırması
GProxy proxy'lerini Scrapy'ye eklemenin en basit yolu settings.py dosyasıdır. HTTP_PROXY ve HTTPS_PROXY ortam değişkenlerini tanımlayın ya da bunları doğrudan spider'ınızın custom settings bölümünde yapılandırın. Rotasyonlu proxy'ler için, her isteğe yeni bir proxy URL'i atayan özel bir downloader middleware kullanın.
Özel proxy rotasyon middleware'i
Üretim ortamındaki scraping için özel bir middleware, proxy atamasında tam kontrol sağlar. Middleware her isteği gönderilmeden önce yakalar, rotasyon parametreleriyle bir proxy endpoint'i atar ve timeout veya 407 kimlik doğrulama hatası gibi proxy kaynaklı hataları yönetir. GProxy'nin backconnect endpoint'i rotasyonu sunucu tarafında yapar; böylece aynı endpoint üzerinden kurulan her bağlantı farklı bir IP alır.
Hata yönetimi ve yeniden denemeler
Sağlam bir scraping için düzgün hata yönetimi şarttır. Scrapy'nin retry middleware'ini proxy kurulumunuzla uyumlu yapılandırın: 403, 407, 429 ve 503 durum kodlarında yeniden deneyin ve makul bir deneme sayısı belirleyin (3-5). GProxy'nin sticky oturumları, gerektiğinde yeniden denemeler boyunca aynı IP'yi korumanızı sağlar — çok sayfalı akışlar için kullanışlıdır.
Eşzamanlı istekler ve performans
Scrapy eşzamanlı scraping'de çok başarılıdır ve GProxy altyapısı yüksek eşzamanlılığı iyi kaldırır. CONCURRENT_REQUESTS = 32 ve DOWNLOAD_DELAY = 0.5 ile başlayın, sonra hedef sitenin davranışına göre ayarlayın. GProxy residential proxy'leriyle genellikle 50-100 eşzamanlı isteği sorunsuz çalıştırabilirsiniz.
Scrapy ile coğrafi hedefleme
GProxy ülke ve şehir düzeyinde hedeflemeyi destekler. Hedef ülkeyi proxy kimlik bilgilerinizin parçası olarak iletin (örneğin user-country-us); istekler o konumdaki IP'ler üzerinden yönlendirilir. Bu, coğrafi kısıtlı içerik veya yerelleştirilmiş arama sonuçlarını toplamak için şarttır.
Kullanım senaryoları
[
{
"
T
I
T
L
E
"
:
"
E
-
T
I
C
A
R
E
T
F
I
Y
A
T
T
A
K
I
B
I
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
Y
E
R
E
L
F
I
Y
A
T
L
A
N
D
I
R
M
A
Y
I
G
Ö
R
M
E
K
I
Ç
I
N
C
O
Ğ
R
A
F
I
H
E
D
E
F
L
I
P
R
O
X
Y
'
L
E
R
L
E
B
I
R
D
E
N
F
A
Z
L
A
P
E
R
A
K
E
N
D
E
C
I
N
I
N
Ü
R
Ü
N
F
I
Y
A
T
L
A
R
I
N
I
T
O
P
L
A
Y
I
N
.
"
}
,
{
"
T
I
T
L
E
"
:
"
S
E
R
P
T
A
K
I
B
I
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
Ü
L
K
E
Y
E
Ö
Z
E
L
R
E
S
I
D
E
N
T
I
A
L
I
P
'
L
E
R
K
U
L
L
A
N
A
R
A
K
F
A
R
K
L
I
K
O
N
U
M
L
A
R
D
A
N
A
R
A
M
A
M
O
T
O
R
U
S
I
R
A
L
A
M
A
L
A
R
I
N
I
I
Z
L
E
Y
I
N
.
"
}
,
{
"
T
I
T
L
E
"
:
"
P
O
T
A
N
S
I
Y
E
L
M
Ü
Ş
T
E
R
I
T
O
P
L
A
M
A
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
T
E
S
P
I
T
E
D
I
L
M
E
M
E
K
I
Ç
I
N
R
O
T
A
S
Y
O
N
L
U
I
P
'
L
E
R
L
E
I
Ş
L
E
T
M
E
K
A
Y
I
T
L
A
R
I
N
I
V
E
I
L
E
T
I
Ş
I
M
V
E
R
I
L
E
R
I
N
I
Ö
L
Ç
E
K
L
I
B
I
Ç
I
M
D
E
Ç
E
K
I
N
.
"
}
,
{
"
T
I
T
L
E
"
:
"
İ
Ç
E
R
I
K
T
O
P
L
A
M
A
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
G
Ü
V
E
N
I
L
I
R
P
R
O
X
Y
R
O
T
A
S
Y
O
N
U
Y
L
A
B
I
R
D
E
N
F
A
Z
L
A
K
A
Y
N
A
K
T
A
N
M
A
K
A
L
E
,
Y
O
R
U
M
V
E
I
L
A
N
T
O
P
L
A
Y
I
N
.
"
}
]
FAQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Başlamaya hazır mısınız?
GProxy ile dakikalar içinde başlayın — residential proxy'ler $0.85/GB'den, IPv6 $0.03/proxy'den, kullandıkça öde.
